home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1988-08-16 | 15.6 KB | [ TEXT/EDIT]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
You can browse this item here: DissBits.asm
Confidence Program Detection Match Type Support
20%
dexvert
VertiZontal Interlacing (image/vzi)
fileSize
Supported
10%
dexvert
MacBinary (archive/macBinary)
fallback
Supported
1%
dexvert
Text File (text/txt)
fallback
Supported
100%
file
MacBinary II, inited, Tue Aug 16 06:30:48 1988, modified Tue Aug 16 06:30:48 1988, creator Macintosh Edit, type ASCII, 15415 bytes "DissBits.asm" , at 0x3cb7 348 bytes resource
default (weak)
99%
file
data
default
74%
TrID
Macintosh plain text (MacBinary)
default
25%
TrID
MacBinary 2
default (weak)
100%
lsar
MacBinary
default
id metadata key value macFileType [ TEXT] macFileCreator [ EDIT]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 0c 44 69 73 73 42 69 | 74 73 2e 61 73 6d 00 00 |..DissBi|ts.asm..| |00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000040| 00 54 45 58 54 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......| |00000050| 00 00 00 00 00 3c 37 00 | 00 01 5c 9f 2d bf 58 9f |.....<7.|..\.-.X.| |00000060| 2d bf 58 00 00 06 00 00 | 00 00 00 00 00 00 00 00 |-.X.....|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 4d d2 00 00 |........|....M...| |00000080| 09 70 72 74 72 09 22 2f | 45 2f 24 34 35 22 09 3b |.prtr."/|E/$45".;| |00000090| 20 49 6d 61 67 65 57 72 | 69 74 65 72 20 73 65 74 | ImageWr|iter set| |000000a0| 20 74 6f 20 45 6c 69 74 | 65 2e 0d 09 6e 61 6d 65 | to Elit|e...name| |000000b0| 09 44 69 73 73 6f 6c 76 | 65 0d 20 09 74 69 74 6c |.Dissolv|e. .titl| |000000c0| 65 09 22 24 22 09 09 3b | 20 44 61 74 65 20 69 6e |e."$"..;| Date in| |000000d0| 20 50 61 67 65 27 73 20 | 48 65 61 64 65 72 2e 0d | Page's |Header..| |000000e0| 09 74 65 72 73 65 09 09 | 09 3b 20 4f 70 74 69 6f |.terse..|.; Optio| |000000f0| 6e 61 6c 2e 0d 20 20 20 | 20 20 20 20 20 20 0d 09 |nal.. | ..| |00000100| 20 0d 20 20 20 20 20 0d | 3b 20 22 44 69 73 73 42 | . .|; "DissB| |00000110| 69 74 73 2e 61 73 6d 22 | 0d 3b 20 2d 2d 20 61 20 |its.asm"|.; -- a | |00000120| 72 6f 75 74 69 6e 65 20 | 74 6f 20 63 72 65 61 74 |routine |to creat| |00000130| 65 20 61 20 44 69 73 73 | 6f 6c 76 65 2d 65 66 66 |e a Diss|olve-eff| |00000140| 65 63 74 20 6f 6e 20 74 | 68 65 20 73 63 72 65 65 |ect on t|he scree| |00000150| 6e 0d 3b 20 2d 2d 20 61 | 6c 69 61 73 20 22 4d 79 |n.; -- a|lias "My| |00000160| 20 6b 69 6e 67 64 6f 6d | 20 66 6f 72 20 61 6e 6f | kingdom| for ano| |00000170| 74 68 65 72 20 52 65 67 | 69 73 74 65 72 20 21 21 |ther Reg|ister !!| |00000180| 22 0d 3b 0d 3b 20 57 72 | 69 74 74 65 6e 20 69 6e |".;.; Wr|itten in| |00000190| 20 36 38 30 30 30 20 43 | 6f 64 65 20 62 79 20 4d | 68000 C|ode by M| |000001a0| 69 6b 65 20 4d 6f 72 74 | 6f 6e 20 5b 4d 61 63 54 |ike Mort|on [MacT| |000001b0| 75 74 6f 72 20 28 44 65 | 63 20 38 35 29 5d 0d 3b |utor (De|c 85)].;| |000001c0| 0d 3b 20 43 6f 6e 76 65 | 72 74 65 64 20 62 79 20 |.; Conve|rted by | |000001d0| 4a 6f 68 6e 20 41 2e 20 | 4c 6f 76 65 2c 20 49 49 |John A. |Love, II| |000001e0| 49 0d 3b 20 7b 20 66 72 | 6f 6d 3a 20 57 61 73 68 |I.; { fr|om: Wash| |000001f0| 69 6e 67 74 6f 6e 20 41 | 70 70 6c 65 20 50 69 20 |ington A|pple Pi | |00000200| 55 73 65 72 73 27 20 47 | 72 6f 75 70 20 7d 0d 3b |Users' G|roup }.;| |00000210| 0d 3b 20 5b 20 75 73 69 | 6e 67 20 22 4d 63 41 73 |.; [ usi|ng "McAs| |00000220| 73 65 6d 62 6c 79 22 20 | 28 76 37 2e 33 29 20 66 |sembly" |(v7.3) f| |00000230| 72 6f 6d 20 53 69 67 6e | 61 74 75 72 65 20 53 6f |rom Sign|ature So| |00000240| 66 74 77 61 72 65 20 5d | 0d 3b 0d 3b 20 49 20 6b |ftware ]|.;.; I k| |00000250| 6e 6f 77 20 74 68 69 73 | 20 62 6c 61 73 74 65 64 |now this| blasted| |00000260| 20 72 6f 75 74 69 6e 65 | 20 77 6f 72 6b 73 2c 20 | routine| works, | |00000270| 62 75 74 20 2e 2e 2e 0d | 3b 20 2e 2e 2e 20 69 6e |but ....|; ... in| |00000280| 20 33 20 6e 6f 76 65 6c | 73 20 6f 72 20 6c 65 73 | 3 novel|s or les| |00000290| 73 2c 20 50 4c 45 41 53 | 45 20 74 65 6c 6c 20 6d |s, PLEAS|E tell m| |000002a0| 65 20 57 48 59 20 3f 2a | 21 21 3f 0d 3b 20 2e 2e |e WHY ?*|!!?.; ..| |000002b0| 2e 20 7b 20 22 6a 75 73 | 74 20 62 65 63 61 75 73 |. { "jus|t becaus| |000002c0| 65 22 20 69 73 20 4e 4f | 54 20 61 6e 20 61 63 63 |e" is NO|T an acc| |000002d0| 65 70 74 61 62 6c 65 20 | 72 65 70 6c 79 20 7d 0d |eptable |reply }.| |000002e0| 0d 0d 0d 3b 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |...;****|********| |000002f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000320| 2a 2a 2a 2a 0d 3b 20 54 | 68 65 20 70 61 72 74 73 |****.; T|he parts| |00000330| 20 6f 66 20 6d 79 20 48 | 46 53 20 50 61 74 68 20 | of my H|FS Path | |00000340| 4e 61 6d 65 73 3a 0d 0d | 76 6f 6c 4e 61 6d 65 09 |Names:..|volName.| |00000350| 09 64 65 66 69 6e 65 09 | 22 48 44 22 0d 41 73 6d |.define.|"HD".Asm| |00000360| 46 6f 6c 64 65 72 09 64 | 65 66 69 6e 65 09 22 4d |Folder.d|efine."M| |00000370| 63 41 73 6d 20 46 6f 6c | 64 65 72 22 0d 67 65 6e |cAsm Fol|der".gen| |00000380| 65 72 61 6c 46 6f 6c 64 | 65 72 09 64 65 66 69 6e |eralFold|er.defin| |00000390| 65 09 22 47 65 6e 65 72 | 61 6c 20 20 46 69 6c 65 |e."Gener|al File| |000003a0| 73 20 20 46 6f 6c 64 65 | 72 22 0d 0d 3b 2a 2a 2a |s Folde|r"..;***| |000003b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000003c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000003d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000003e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 0d 0d |********|*****...| |000003f0| 3b 20 49 4e 43 4c 55 44 | 45 20 66 69 6c 65 73 20 |; INCLUD|E files | |00000400| 3a 20 52 65 67 69 73 74 | 65 72 54 72 61 70 73 2e |: Regist|erTraps.| |00000410| 50 53 4d 0d 3b 09 09 20 | 20 54 6f 6f 6c 45 71 75 |PSM.;.. | ToolEqu| |00000420| 2e 50 53 4d 0d 3b 09 09 | 20 20 51 75 69 63 6b 45 |.PSM.;..| QuickE| |00000430| 71 75 2e 50 53 4d 0d 3b | 09 09 20 20 53 79 73 45 |qu.PSM.;|.. SysE| |00000440| 71 75 2e 50 53 4d 0d 3b | 09 09 20 20 50 75 73 68 |qu.PSM.;|.. Push| |00000450| 50 6f 70 2e 61 73 6d 0d | 3b 09 09 20 20 53 74 61 |Pop.asm.|;.. Sta| |00000460| 63 6b 4d 61 63 72 6f 73 | 2e 61 73 6d 0d 3b 0d 3b |ckMacros|.asm.;.;| |00000470| 20 20 20 77 69 74 68 20 | 4c 49 53 54 69 6e 67 20 | with |LISTing | |00000480| 74 75 72 6e 65 64 20 6f | 66 66 2e 0d 20 0d 0d 09 |turned o|ff.. ...| |00000490| 4c 49 53 54 09 30 09 09 | 20 20 3b 20 4f 46 46 2e |LIST.0..| ; OFF.| |000004a0| 0d 09 0d 09 69 70 61 74 | 68 09 22 7b 76 6f 6c 4e |....ipat|h."{volN| |000004b0| 61 6d 65 7d 3a 7b 41 73 | 6d 46 6f 6c 64 65 72 7d |ame}:{As|mFolder}| |000004c0| 3a 7b 67 65 6e 65 72 61 | 6c 46 6f 6c 64 65 72 7d |:{genera|lFolder}| |000004d0| 3a 42 6f 6f 74 20 54 52 | 41 50 73 20 46 6f 6c 64 |:Boot TR|APs Fold| |000004e0| 65 72 3a 22 0d 09 69 6e | 63 6c 09 22 52 65 67 69 |er:"..in|cl."Regi| |000004f0| 73 74 65 72 54 72 61 70 | 73 2e 50 53 4d 22 0d 3b |sterTrap|s.PSM".;| |00000500| 20 09 50 41 47 45 09 09 | 09 20 20 3b 20 45 6c 69 | .PAGE..|. ; Eli| |00000510| 6d 69 6e 61 74 65 64 20 | 69 6e 20 66 69 6e 61 6c |minated |in final| |00000520| 20 76 65 72 73 69 6f 6e | 2e 09 0d 09 0d 09 69 70 | version|......ip| |00000530| 61 74 68 09 22 7b 76 6f | 6c 4e 61 6d 65 7d 3a 7b |ath."{vo|lName}:{| |00000540| 41 73 6d 46 6f 6c 64 65 | 72 7d 3a 7b 67 65 6e 65 |AsmFolde|r}:{gene| |00000550| 72 61 6c 46 6f 6c 64 65 | 72 7d 3a 42 6f 6f 74 20 |ralFolde|r}:Boot | |00000560| 45 51 55 61 74 65 73 20 | 46 6f 6c 64 65 72 3a 22 |EQUates |Folder:"| |00000570| 0d 09 69 6e 63 6c 09 22 | 54 6f 6f 6c 45 71 75 2e |..incl."|ToolEqu.| |00000580| 50 53 4d 22 0d 09 69 6e | 63 6c 09 22 51 75 69 63 |PSM"..in|cl."Quic| |00000590| 6b 45 71 75 2e 50 53 4d | 22 0d 09 69 6e 63 6c 09 |kEqu.PSM|"..incl.| |000005a0| 22 53 79 73 45 71 75 2e | 50 53 4d 22 0d 09 0d 09 |"SysEqu.|PSM"....| |000005b0| 69 70 61 74 68 09 22 7b | 76 6f 6c 4e 61 6d 65 7d |ipath."{|volName}| |000005c0| 3a 7b 41 73 6d 46 6f 6c | 64 65 72 7d 3a 7b 67 65 |:{AsmFol|der}:{ge| |000005d0| 6e 65 72 61 6c 46 6f 6c | 64 65 72 7d 3a 42 6f 6f |neralFol|der}:Boo| |000005e0| 74 20 4d 41 43 52 4f 73 | 20 46 6f 6c 64 65 72 3a |t MACROs| Folder:| |000005f0| 22 0d 09 69 6e 63 6c 09 | 22 50 75 73 68 50 6f 70 |"..incl.|"PushPop| |00000600| 2e 61 73 6d 22 0d 3b 20 | 09 50 41 47 45 09 09 09 |.asm".; |.PAGE...| |00000610| 20 20 3b 20 45 6c 69 6d | 69 6e 61 74 65 64 20 69 | ; Elim|inated i| |00000620| 6e 20 66 69 6e 61 6c 20 | 76 65 72 73 69 6f 6e 2e |n final |version.| |00000630| 09 0d 09 69 6e 63 6c 09 | 22 53 74 61 63 6b 4d 61 |...incl.|"StackMa| |00000640| 63 72 6f 73 2e 61 73 6d | 22 0d 3b 20 09 50 41 47 |cros.asm|".; .PAG| |00000650| 45 09 09 09 20 20 3b 20 | 45 6c 69 6d 69 6e 61 74 |E... ; |Eliminat| |00000660| 65 64 20 69 6e 20 66 69 | 6e 61 6c 20 76 65 72 73 |ed in fi|nal vers| |00000670| 69 6f 6e 2e 0d 09 09 0d | 09 4c 49 53 54 09 31 09 |ion.....|.LIST.1.| |00000680| 09 20 20 3b 20 42 61 63 | 6b 20 4f 4e 2e 0d 0d 0d |. ; Bac|k ON....| |00000690| 09 54 43 4f 4d 50 09 09 | 09 3b 20 54 75 72 6e 20 |.TCOMP..|.; Turn | |000006a0| 6f 6e 20 74 68 65 20 54 | 72 61 70 20 43 6f 6d 70 |on the T|rap Comp| |000006b0| 69 6c 65 72 2e 0d 0d 0d | 0d 09 70 61 67 65 0d 0d |iler....|..page..| |000006c0| 09 58 44 45 46 09 44 69 | 73 73 42 69 74 73 0d 09 |.XDEF.Di|ssBits..| |000006d0| 0d 09 0d 3b 20 50 52 4f | 43 45 44 55 52 45 20 20 |...; PRO|CEDURE | |000006e0| 44 69 73 73 42 69 74 73 | 20 28 73 72 63 42 69 74 |DissBits| (srcBit| |000006f0| 73 2c 64 73 74 42 69 74 | 73 3a 20 42 69 74 4d 61 |s,dstBit|s: BitMa| |00000700| 70 3b 20 73 72 63 52 65 | 63 74 2c 64 73 74 52 65 |p; srcRe|ct,dstRe| |00000710| 63 74 3a 20 52 65 63 74 | 29 3b 0d 3b 20 20 20 41 |ct: Rect|);.; A| |00000720| 73 73 75 6d 65 73 20 6d | 6f 64 65 20 3d 20 73 72 |ssumes m|ode = sr| |00000730| 63 43 6f 70 79 20 2b 20 | 4e 4f 20 6d 61 73 6b 69 |cCopy + |NO maski| |00000740| 6e 67 3a 0d 0d 44 69 73 | 73 62 69 74 73 09 70 72 |ng:..Dis|sbits.pr| |00000750| 6f 63 0d 2e 73 72 63 42 | 69 74 73 09 70 6f 69 6e |oc..srcB|its.poin| |00000760| 74 65 72 09 09 09 3b 20 | 74 6f 20 42 69 74 4d 61 |ter...; |to BitMa| |00000770| 70 73 20 2e 2e 2e 0d 2e | 64 73 74 62 69 74 73 09 |ps .....|dstbits.| |00000780| 70 6f 69 6e 74 65 72 0d | 2e 73 72 63 52 65 63 74 |pointer.|.srcRect| |00000790| 09 70 6f 69 6e 74 65 72 | 09 09 09 3b 20 74 6f 20 |.pointer|...; to | |000007a0| 52 65 63 74 61 6e 67 6c | 65 73 20 2e 2e 2e 0d 2e |Rectangl|es .....| |000007b0| 64 73 74 52 65 63 74 09 | 70 6f 69 6e 74 65 72 0d |dstRect.|pointer.| |000007c0| 09 09 65 6e 64 50 61 72 | 6d 73 0d 3b 20 7e 7e 7e |..endPar|ms.; ~~~| |000007d0| 7e 7e 7e 7e 7e 7e 7e 7e | 7e 7e 0d 09 09 64 73 65 |~~~~~~~~|~~...dse| |000007e0| 63 09 30 09 09 3b 20 4f | 75 72 20 73 70 65 63 69 |c.0..; O|ur speci| |000007f0| 61 6c 20 52 65 63 6f 72 | 64 2e 0d 2e 6f 75 72 52 |al Recor|d...ourR| |00000800| 6f 77 73 09 77 6f 72 64 | 09 09 09 3b 20 4c 61 73 |ows.word|...; Las| |00000810| 74 20 72 6f 77 23 20 61 | 6e 64 20 63 6f 6c 75 6d |t row# a|nd colum| |00000820| 6e 23 20 6f 66 20 69 6e | 6e 65 72 0d 2e 6f 75 72 |n# of in|ner..our| |00000830| 43 6f 6c 73 09 77 6f 72 | 64 09 09 09 3b 20 20 20 |Cols.wor|d...; | |00000840| 52 65 63 74 61 6e 67 6c | 65 20 5b 6e 6f 72 6d 61 |Rectangl|e [norma| |00000850| 6c 69 7a 65 64 20 74 6f | 20 30 5d 2e 0d 2e 6f 75 |lized to| 0]...ou| |00000860| 72 4c 62 69 74 73 09 77 | 6f 72 64 09 09 09 3b 20 |rLbits.w|ord...; | |00000870| 49 67 6e 6f 72 65 64 20 | 42 69 74 73 20 69 6e 20 |Ignored |Bits in | |00000880| 31 73 74 20 42 79 74 65 | 20 6f 66 20 52 65 63 74 |1st Byte| of Rect| |00000890| 2e 0d 2e 6f 75 72 53 74 | 72 69 64 65 09 77 6f 72 |...ourSt|ride.wor| |000008a0| 64 09 09 09 3b 20 72 6f | 77 42 69 74 73 20 69 6e |d...; ro|wBits in| |000008b0| 20 62 69 74 4d 61 70 2e | 0d 2e 6f 75 72 42 61 73 | bitMap.|..ourBas| |000008c0| 65 09 70 6f 69 6e 74 65 | 72 09 09 09 3b 20 2e 2e |e.pointe|r...; ..| |000008d0| 2e 20 74 6f 20 31 73 74 | 20 42 79 74 65 20 69 6e |. to 1st| Byte in| |000008e0| 20 69 6e 6e 65 72 20 52 | 65 63 74 2e 0d 09 09 64 | inner R|ect....d| |000008f0| 65 6e 64 09 2e 6f 75 72 | 53 69 7a 65 0d 3b 20 7e |end..our|Size.; ~| |00000900| 7e 7e 7e 7e 7e 7e 7e 7e | 7e 7e 7e 7e 0d 09 09 6c |~~~~~~~~|~~~~...l| |00000910| 6f 63 61 6c 73 0d 2e 73 | 72 63 4f 75 72 73 09 62 |ocals..s|rcOurs.b| |00000920| 79 74 65 09 2e 6f 75 72 | 53 69 7a 65 0d 2e 64 73 |yte..our|Size..ds| |00000930| 74 4f 75 72 73 09 62 79 | 74 65 09 2e 6f 75 72 53 |tOurs.by|te..ourS| |00000940| 69 7a 65 0d 09 09 65 6e | 64 4c 6f 63 61 6c 73 0d |ize...en|dLocals.| |00000950| 3b 20 7e 7e 7e 7e 7e 7e | 7e 7e 7e 7e 7e 7e 7e 0d |; ~~~~~~|~~~~~~~.| |00000960| 3b 20 4f 75 72 20 57 6f | 72 6b 69 6e 67 20 52 65 |; Our Wo|rking Re| |00000970| 67 69 73 74 65 72 73 3a | 0d 0d 63 6f 6e 76 65 72 |gisters:|..conver| |00000980| 74 4f 4b 09 72 65 71 75 | 09 64 30 09 09 3b 20 52 |tOK.requ|.d0..; R| |00000990| 65 73 75 6c 74 20 66 72 | 6f 6d 20 63 61 6c 6c 69 |esult fr|om calli| |000009a0| 6e 67 20 43 6f 6e 76 65 | 72 74 2e 0d 73 74 72 69 |ng Conve|rt..stri| |000009b0| 64 65 57 69 64 74 68 09 | 72 65 71 75 09 64 30 09 |deWidth.|requ.d0.| |000009c0| 09 3b 20 52 65 73 75 6c | 74 20 66 72 6f 6d 20 63 |.; Resul|t from c| |000009d0| 61 6c 6c 69 6e 67 20 42 | 69 74 57 69 64 74 68 2e |alling B|itWidth.| |000009e0| 0d 73 74 72 69 64 65 4c | 4f 47 09 72 65 71 75 09 |.strideL|OG.requ.| |000009f0| 64 32 09 09 3b 20 43 65 | 69 6c 69 6e 67 20 6f 66 |d2..; Ce|iling of| |00000a00| 20 4c 4f 47 2c 20 42 61 | 73 65 20 32 20 6f 66 20 | LOG, Ba|se 2 of | |00000a10| 61 20 23 2e 0d 3b 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |a #..; -|--------| |00000a20| 2d 0d 77 69 64 74 68 53 | 72 63 09 72 65 71 75 09 |-.widthS|rc.requ.| |00000a30| 64 31 09 09 3b 20 42 69 | 74 2d 77 69 64 74 68 73 |d1..; Bi|t-widths| |00000a40| 20 2e 2e 2e 0d 68 65 69 | 67 68 74 53 72 63 09 72 | ....hei|ghtSrc.r| |00000a50| 65 71 75 09 64 30 0d 74 | 6f 74 61 6c 57 69 64 74 |equ.d0.t|otalWidt| |00000a60| 68 09 72 65 71 75 09 64 | 30 09 09 3b 20 54 6f 74 |h.requ.d|0..; Tot| |00000a70| 61 6c 20 42 69 74 2d 77 | 69 64 74 68 20 3d 20 72 |al Bit-w|idth = r| |00000a80| 6f 77 73 20 2b 20 63 6f | 6c 75 6d 6e 73 2e 0d 70 |ows + co|lumns..p| |00000a90| 69 78 57 69 64 65 09 09 | 72 65 71 75 09 61 32 0d |ixWide..|requ.a2.| |00000aa0| 3b 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 4d 61 73 |; ------|----.Mas| |00000ab0| 6b 42 79 74 65 09 72 65 | 71 75 09 64 33 09 09 3b |kByte.re|qu.d3..;| |00000ac0| 20 4d 61 73 6b 73 20 2e | 2e 2e 0d 63 79 4d 61 73 | Masks .|...cyMas| |00000ad0| 6b 42 79 74 65 09 72 65 | 71 75 09 64 30 0d 62 69 |kByte.re|qu.d0.bi| |00000ae0| 74 4d 61 73 6b 09 09 72 | 65 71 75 09 64 35 0d 3b |tMask..r|equ.d5.;| |00000af0| 20 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 74 65 6d 70 | -------|---.temp| |00000b00| 09 09 72 65 71 75 09 64 | 32 09 09 3b 20 4a 75 73 |..requ.d|2..; Jus| |00000b10| 74 20 74 65 6d 70 6f 72 | 61 72 79 2c 20 66 6f 6c |t tempor|ary, fol| |00000b20| 6b 73 20 21 21 0d 3b 20 | 2d 2d 2d 2d 2d 2d 2d 2d |ks !!.; |--------| |00000b30| 2d 2d 0d 73 72 63 41 64 | 72 31 42 69 74 09 72 65 |--.srcAd|r1Bit.re| |00000b40| 71 75 09 61 30 09 09 3b | 20 41 64 64 72 65 73 73 |qu.a0..;| Address| |00000b50| 20 6f 66 20 31 73 74 20 | 73 65 74 20 42 69 74 20 | of 1st |set Bit | |00000b60| 2e 2e 2e 0d 64 73 74 41 | 64 72 31 42 69 74 09 72 |....dstA|dr1Bit.r| |00000b70| 65 71 75 09 61 31 0d 73 | 72 63 41 64 72 31 42 79 |equ.a1.s|rcAdr1By| |00000b80| 74 65 09 72 65 71 75 09 | 61 30 09 09 3b 20 41 64 |te.requ.|a0..; Ad| |00000b90| 64 72 65 73 73 20 6f 66 | 20 31 73 74 20 42 79 74 |dress of| 1st Byt| |00000ba0| 65 20 2e 2e 2e 0d 64 73 | 74 41 64 72 31 42 79 74 |e ....ds|tAdr1Byt| |00000bb0| 65 09 72 65 71 75 09 61 | 31 0d 3b 20 2d 2d 2d 2d |e.requ.a|1.; ----| |00000bc0| 2d 2d 2d 2d 2d 2d 0d 73 | 72 63 4c 4f 47 73 74 72 |------.s|rcLOGstr| |00000bd0| 69 64 65 09 72 65 71 75 | 09 64 30 09 09 3b 20 4c |ide.requ|.d0..; L| |00000be0| 4f 47 2c 20 42 61 73 65 | 20 32 20 2e 2e 2e 0d 64 |OG, Base| 2 ....d| |00000bf0| 73 74 4c 4f 47 73 74 72 | 69 64 65 09 72 65 71 75 |stLOGstr|ide.requ| |00000c00| 09 64 31 0d 0d 09 09 70 | 61 67 65 0d 0d 09 09 65 |.d1....p|age....e| |00000c10| 6e 74 65 72 0d 09 09 0d | 09 09 0d 09 09 6d 6f 76 |nter....|.....mov| |00000c20| 65 6d 2e 6c 09 61 31 2d | 61 34 2f 64 30 2d 64 37 |em.l.a1-|a4/d0-d7| |00000c30| 2c 2d 28 73 70 29 09 3b | 20 44 65 70 6f 73 69 74 |,-(sp).;| Deposit| |00000c40| 20 79 6f 75 72 20 6c 69 | 66 65 20 73 61 76 69 6e | your li|fe savin| |00000c50| 67 73 2e 0d 09 09 3b 20 | 2d 2d 2d 2d 2d 2d 2d 2d |gs....; |--------| |00000c60| 2d 2d 0d 09 09 48 69 64 | 65 43 75 72 73 6f 72 09 |--...Hid|eCursor.| |00000c70| 09 3b 20 44 6f 20 6f 75 | 72 20 22 6d 61 67 69 63 |.; Do ou|r "magic| |00000c80| 22 20 77 69 74 68 20 43 | 75 72 73 6f 72 20 68 69 |" with C|ursor hi| |00000c90| 64 64 65 6e 2e 0d 0d 09 | 09 3b 20 2d 2d 2d 2d 2d |dden....|.; -----| |00000ca0| 2d 2d 2d 2d 2d 0d 09 09 | 3b 20 43 6f 6e 76 65 72 |-----...|; Conver| |00000cb0| 74 20 69 6e 70 75 74 20 | 70 61 72 6d 73 20 74 6f |t input |parms to| |00000cc0| 20 6f 75 72 20 73 70 65 | 63 69 61 6c 20 66 6f 72 | our spe|cial for| |00000cd0| 6d 61 74 3a 0d 0d 09 09 | 63 6c 72 2e 77 09 2d 28 |mat:....|clr.w.-(| |00000ce0| 73 70 29 09 09 3b 20 46 | 55 4e 43 54 49 4f 4e 61 |sp)..; F|UNCTIONa| |00000cf0| 6c 20 72 65 73 75 6c 74 | 2e 0d 09 09 70 75 73 68 |l result|....push| |00000d00| 2e 6c 09 2e 73 72 63 42 | 69 74 73 0d 09 09 70 75 |.l..srcB|its...pu| |00000d10| 73 68 2e 6c 09 2e 73 72 | 63 52 65 63 74 0d 09 09 |sh.l..sr|cRect...| |00000d20| 70 65 61 09 2e 73 72 63 | 4f 75 72 73 09 3b 20 56 |pea..src|Ours.; V| |00000d30| 41 52 2e 0d 09 09 62 73 | 72 09 43 6f 6e 76 65 72 |AR....bs|r.Conver| |00000d40| 74 0d 09 09 70 6f 70 2e | 77 09 63 6f 6e 76 65 72 |t...pop.|w.conver| |00000d50| 74 4f 4b 0d 09 09 62 65 | 71 09 2e 65 6e 64 09 09 |tOK...be|q..end..| |00000d60| 3b 20 48 65 69 67 68 74 | 20 6f 72 20 57 69 64 74 |; Height| or Widt| |00000d70| 68 20 6f 66 20 52 65 63 | 74 61 6e 67 6c 65 20 3d |h of Rec|tangle =| |00000d80| 20 30 2e 0d 09 09 63 6c | 72 2e 77 09 2d 28 73 70 | 0....cl|r.w.-(sp| |00000d90| 29 0d 09 09 70 75 73 68 | 2e 6c 09 2e 64 73 74 42 |)...push|.l..dstB| |00000da0| 69 74 73 0d 09 09 70 75 | 73 68 2e 6c 09 2e 64 73 |its...pu|sh.l..ds| |00000db0| 74 52 65 63 74 0d 09 09 | 70 65 61 09 2e 64 73 74 |tRect...|pea..dst| |00000dc0| 4f 75 72 73 09 3b 20 56 | 41 52 2e 0d 09 09 62 73 |Ours.; V|AR....bs| |00000dd0| 72 09 43 6f 6e 76 65 72 | 74 0d 09 09 70 6f 70 2e |r.Conver|t...pop.| |00000de0| 77 09 63 6f 6e 76 65 72 | 74 4f 4b 0d 09 09 62 65 |w.conver|tOK...be| |00000df0| 71 09 2e 65 6e 64 09 09 | 3b 20 4f 68 2d 4f 68 20 |q..end..|; Oh-Oh | |00000e00| 21 21 0d 09 09 0d 09 09 | 3b 20 2d 2d 2d 2d 2d 2d |!!......|; ------| |00000e10| 2d 2d 2d 2d 0d 09 09 3b | 20 43 68 65 63 6b 20 74 |----...;| Check t| |00000e20| 68 61 74 20 74 68 65 20 | 74 77 6f 20 72 65 63 74 |hat the |two rect| |00000e30| 61 6e 67 6c 65 73 20 6d | 61 74 63 68 20 69 6e 20 |angles m|atch in | |00000e40| 73 69 7a 65 3a 0d 0d 09 | 09 6d 6f 76 65 2e 77 09 |size:...|.move.w.| |00000e50| 2e 73 72 63 4f 75 72 73 | 2b 2e 6f 75 72 52 6f 77 |.srcOurs|+.ourRow| |00000e60| 73 2c 64 30 09 3b 20 46 | 69 72 73 74 2c 20 74 68 |s,d0.; F|irst, th| |00000e70| 65 20 68 65 69 67 68 74 | 20 2e 2e 2e 0d 09 09 63 |e height| ......c| |00000e80| 6d 70 2e 77 09 2e 64 73 | 74 4f 75 72 73 2b 2e 6f |mp.w..ds|tOurs+.o| |00000e90| 75 72 52 6f 77 73 2c 64 | 30 0d 09 09 62 6e 65 09 |urRows,d|0...bne.| |00000ea0| 2e 65 6e 64 0d 09 09 6d | 6f 76 65 2e 77 09 2e 73 |.end...m|ove.w..s| |00000eb0| 72 63 4f 75 72 73 2b 2e | 6f 75 72 43 6f 6c 73 2c |rcOurs+.|ourCols,| |00000ec0| 64 31 09 3b 20 2e 2e 2e | 20 74 68 65 6e 2c 20 74 |d1.; ...| then, t| |00000ed0| 68 65 20 77 69 64 74 68 | 2e 0d 09 09 63 6d 70 2e |he width|....cmp.| |00000ee0| 77 09 2e 64 73 74 4f 75 | 72 73 2b 2e 6f 75 72 43 |w..dstOu|rs+.ourC| |00000ef0| 6f 6c 73 2c 64 31 0d 09 | 09 62 6e 65 09 2e 65 6e |ols,d1..|.bne..en| |00000f00| 64 0d 09 09 0d 09 09 3b | 20 2d 2d 2d 2d 2d 2d 2d |d......;| -------| |00000f10| 2d 2d 2d 0d 09 09 3b 20 | 44 65 74 65 72 6d 69 6e |---...; |Determin| |00000f20| 65 20 62 69 74 2d 77 69 | 64 74 68 20 6e 65 65 64 |e bit-wi|dth need| |00000f30| 65 64 20 74 6f 20 73 70 | 61 6e 20 72 6f 77 73 20 |ed to sp|an rows | |00000f40| 26 20 63 6f 6c 75 6d 6e | 73 3a 0d 09 09 0d 09 09 |& column|s:......| |00000f50| 63 6c 72 2e 77 09 2d 28 | 73 70 29 09 09 3b 20 46 |clr.w.-(|sp)..; F| |00000f60| 55 4e 43 54 49 4f 4e 61 | 6c 20 72 65 73 75 6c 74 |UNCTIONa|l result| |00000f70| 2e 0d 09 09 70 75 73 68 | 2e 77 09 2e 73 72 63 4f |....push|.w..srcO| |00000f80| 75 72 73 2b 2e 6f 75 72 | 43 6f 6c 73 0d 09 09 62 |urs+.our|Cols...b| |00000f90| 73 72 09 42 69 74 57 69 | 64 74 68 0d 09 09 70 6f |sr.BitWi|dth...po| |00000fa0| 70 2e 77 09 77 69 64 74 | 68 53 72 63 09 3b 20 4b |p.w.widt|hSrc.; K| |00000fb0| 65 65 70 20 74 68 69 73 | 20 73 75 63 6b 65 72 20 |eep this| sucker | |00000fc0| 73 61 66 65 20 21 21 0d | 09 09 62 6e 65 2e 73 09 |safe !!.|..bne.s.| |00000fd0| 2e 31 09 09 3b 20 46 61 | 6c 6c 73 20 74 68 72 75 |.1..; Fa|lls thru| |00000fe0| 20 69 66 20 74 69 6e 79 | 20 77 69 64 74 68 2e 0d | if tiny| width..| |00000ff0| 09 09 43 6f 70 79 42 69 | 74 73 20 20 20 2e 73 72 |..CopyBi|ts .sr| |00001000| 63 42 69 74 73 2c 2e 64 | 73 74 42 69 74 73 2c 2e |cBits,.d|stBits,.| |00001010| 73 72 63 52 65 63 74 2c | 2e 64 73 74 52 65 63 74 |srcRect,|.dstRect| |00001020| 2c 23 73 72 63 43 6f 70 | 79 2c 23 30 0d 09 09 62 |,#srcCop|y,#0...b| |00001030| 72 61 09 2e 65 6e 64 0d | 09 09 3b 20 2d 2d 2d 2d |ra..end.|..; ----| |00001040| 2d 2d 2d 2d 2d 2d 0d 2e | 31 09 09 63 6c 72 2e 77 |------..|1..clr.w| |00001050| 09 2d 28 73 70 29 09 09 | 3b 20 46 55 4e 43 54 49 |.-(sp)..|; FUNCTI| |00001060| 4f 4e 61 6c 20 72 65 73 | 75 6c 74 2e 0d 09 09 70 |ONal res|ult....p| |00001070| 75 73 68 2e 77 09 2e 73 | 72 63 4f 75 72 73 2b 2e |ush.w..s|rcOurs+.| |00001080| 6f 75 72 52 6f 77 73 0d | 09 09 62 73 72 09 42 69 |ourRows.|..bsr.Bi| |00001090| 74 57 69 64 74 68 0d 09 | 09 70 6f 70 2e 77 09 68 |tWidth..|.pop.w.h| |000010a0| 65 69 67 68 74 53 72 63 | 0d 09 09 62 6e 65 2e 73 |eightSrc|...bne.s| |000010b0| 09 2e 32 09 09 3b 20 46 | 61 6c 6c 73 20 74 68 72 |..2..; F|alls thr| |000010c0| 75 20 69 66 20 76 65 72 | 79 20 73 6d 61 6c 6c 20 |u if ver|y small | |000010d0| 68 65 69 67 68 74 2e 0d | 09 09 43 6f 70 79 42 69 |height..|..CopyBi| |000010e0| 74 73 20 20 20 2e 73 72 | 63 42 69 74 73 2c 2e 64 |ts .sr|cBits,.d| |000010f0| 73 74 42 69 74 73 2c 2e | 73 72 63 52 65 63 74 2c |stBits,.|srcRect,| |00001100| 2e 64 73 74 52 65 63 74 | 2c 23 73 72 63 43 6f 70 |.dstRect|,#srcCop| |00001110| 79 2c 23 30 0d 09 09 62 | 72 61 09 2e 65 6e 64 0d |y,#0...b|ra..end.| |00001120| 09 09 0d 09 09 3b 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.....; -|--------| |00001130| 2d 0d 09 09 3b 20 53 65 | 74 75 70 20 73 6f 6d 65 |-...; Se|tup some| |00001140| 20 63 6f 6e 73 74 61 6e | 74 73 20 77 65 27 6c 6c | constan|ts we'll| |00001150| 20 6e 65 65 64 20 6c 61 | 74 65 72 3a 0d 09 09 0d | need la|ter:....| |00001160| 2e 32 09 09 65 78 74 2e | 6c 09 77 69 64 74 68 53 |.2..ext.|l.widthS| |00001170| 72 63 0d 09 09 6d 6f 76 | 65 2e 6c 09 23 31 2c 62 |rc...mov|e.l.#1,b| |00001180| 69 74 4d 61 73 6b 0d 09 | 09 6c 73 6c 2e 6c 09 77 |itMask..|.lsl.l.w| |00001190| 69 64 74 68 53 72 63 2c | 62 69 74 4d 61 73 6b 0d |idthSrc,|bitMask.| |000011a0| 09 09 73 75 62 71 2e 6c | 09 23 31 2c 62 69 74 4d |..subq.l|.#1,bitM| |000011b0| 61 73 6b 09 09 3b 20 41 | 6c 6c 20 42 69 74 73 20 |ask..; A|ll Bits | |000011c0| 61 72 65 20 53 45 54 2e | 0d 09 09 3b 20 2d 2d 2d |are SET.|...; ---| |000011d0| 2d 2d 2d 2d 2d 2d 2d 0d | 09 09 61 64 64 2e 77 09 |-------.|..add.w.| |000011e0| 77 69 64 74 68 53 72 63 | 2c 68 65 69 67 68 74 53 |widthSrc|,heightS| |000011f0| 72 63 0d 09 09 6d 6f 76 | 65 2e 77 09 68 65 69 67 |rc...mov|e.w.heig| |00001200| 68 74 53 72 63 2c 74 6f | 74 61 6c 57 69 64 74 68 |htSrc,to|talWidth| |00001210| 0d 09 09 3b 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |...; ---|-------.| |00001220| 09 09 6c 65 61 09 4d 61 | 73 6b 54 61 62 6c 65 2c |..lea.Ma|skTable,| |00001230| 61 30 0d 09 09 63 6c 72 | 2e 6c 09 4d 61 73 6b 42 |a0...clr|.l.MaskB| |00001240| 79 74 65 0d 09 09 6d 6f | 76 65 2e 62 09 30 28 61 |yte...mo|ve.b.0(a| |00001250| 30 2c 74 6f 74 61 6c 57 | 69 64 74 68 29 2c 4d 61 |0,totalW|idth),Ma| |00001260| 73 6b 42 79 74 65 0d 09 | 09 0d 09 09 3b 20 2d 2d |skByte..|....; --| |00001270| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 09 09 3b 20 54 68 65 |--------|...; The| |00001280| 20 4d 61 73 6b 54 61 62 | 6c 65 20 69 73 20 73 61 | MaskTab|le is sa| |00001290| 76 65 64 20 63 6f 6d 70 | 61 63 74 6c 79 20 73 69 |ved comp|actly si| |000012a0| 6e 63 65 20 6e 6f 6e 65 | 20 6f 66 20 74 68 65 0d |nce none| of the.| |000012b0| 09 09 3b 20 4d 61 73 6b | 73 20 61 72 65 20 77 69 |..; Mask|s are wi| |000012c0| 64 65 72 20 74 68 61 6e | 20 6f 6e 65 20 42 79 74 |der than| one Byt| |000012d0| 65 2e 20 20 57 65 20 68 | 61 76 65 20 74 6f 20 75 |e. We h|ave to u| |000012e0| 6e 2d 70 61 63 6b 0d 09 | 09 3b 20 65 61 63 68 20 |n-pack..|.; each | |000012f0| 54 61 62 6c 65 20 65 6e | 74 72 79 20 73 6f 20 74 |Table en|try so t| |00001300| 68 65 20 68 69 67 68 2d | 6f 72 64 65 72 20 42 69 |he high-|order Bi| |00001310| 74 20 6f 66 20 74 68 65 | 0d 09 09 3b 20 74 6f 74 |t of the|...; tot| |00001320| 61 6c 57 69 64 74 68 2d | 62 69 74 2d 77 69 64 65 |alWidth-|bit-wide| |00001330| 20 66 69 65 6c 64 20 69 | 73 20 73 65 74 3a 0d 09 | field i|s set:..| |00001340| 09 0d 2e 55 6e 50 61 63 | 6b 09 09 61 64 64 2e 6c |...UnPac|k..add.l| |00001350| 09 4d 61 73 6b 42 79 74 | 65 2c 4d 61 73 6b 42 79 |.MaskByt|e,MaskBy| |00001360| 74 65 0d 09 09 62 70 6c | 2e 73 09 2e 55 6e 50 61 |te...bpl|.s..UnPa| |00001370| 63 6b 0d 09 09 0d 09 09 | 3b 20 2d 2d 2d 2d 2d 2d |ck......|; ------| |00001380| 2d 2d 2d 2d 0d 09 09 3b | 20 54 6f 70 20 42 69 74 |----...;| Top Bit| |00001390| 20 69 73 20 6e 6f 77 20 | 73 65 74 2e 20 20 4e 6f | is now |set. No| |000013a0| 77 2c 20 73 77 69 6e 67 | 20 74 68 65 20 74 6f 70 |w, swing| the top| |000013b0| 20 74 6f 74 61 6c 57 69 | 64 74 68 0d 09 09 3b 20 | totalWi|dth...; | |000013c0| 42 69 74 73 20 61 72 6f | 75 6e 64 20 74 6f 20 74 |Bits aro|und to t| |000013d0| 68 65 20 62 6f 74 74 6f | 6d 20 74 6f 74 61 6c 57 |he botto|m totalW| |000013e0| 69 64 74 68 20 42 69 74 | 73 2e 20 20 54 68 65 0d |idth Bit|s. The.| |000013f0| 09 09 3b 20 66 69 72 73 | 74 20 73 65 71 75 65 6e |..; firs|t sequen| |00001400| 63 65 20 65 6c 65 6d 65 | 6e 74 20 69 73 20 6e 6f |ce eleme|nt is no| |00001410| 77 20 74 68 65 20 4d 61 | 73 6b 20 69 74 73 65 6c |w the Ma|sk itsel| |00001420| 66 3a 0d 09 09 0d 09 09 | 72 6f 6c 2e 6c 09 74 6f |f:......|rol.l.to| |00001430| 74 61 6c 57 69 64 74 68 | 2c 4d 61 73 6b 42 79 74 |talWidth|,MaskByt| |00001440| 65 0d 09 09 6d 6f 76 65 | 2e 6c 09 4d 61 73 6b 42 |e...move|.l.MaskB| |00001450| 79 74 65 2c 63 79 4d 61 | 73 6b 42 79 74 65 0d 09 |yte,cyMa|skByte..| |00001460| 09 0d 09 09 3b 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |....; --|--------| |00001470| 0d 09 09 3b 20 44 6f 20 | 61 6c 6c 20 73 6f 72 74 |...; Do |all sort| |00001480| 73 20 6f 66 20 70 72 65 | 70 61 72 61 74 69 6f 6e |s of pre|paration| |00001490| 3a 0d 09 09 0d 09 09 6d | 6f 76 65 2e 6c 09 2e 73 |:......m|ove.l..s| |000014a0| 72 63 4f 75 72 73 2b 2e | 6f 75 72 42 61 73 65 2c |rcOurs+.|ourBase,| |000014b0| 74 65 6d 70 09 3b 20 53 | 65 74 75 70 20 62 61 73 |temp.; S|etup bas| |000014c0| 65 20 61 64 64 72 65 73 | 73 3a 0d 09 09 6c 73 6c |e addres|s:...lsl| |000014d0| 2e 6c 09 23 33 2c 74 65 | 6d 70 09 09 09 3b 20 20 |.l.#3,te|mp...; | |000014e0| 20 42 79 74 65 20 2d 2d | 3e 20 42 69 74 20 61 64 | Byte --|> Bit ad| |000014f0| 64 72 65 73 73 2e 0d 09 | 09 6d 6f 76 65 2e 6c 09 |dress...|.move.l.| |00001500| 74 65 6d 70 2c 73 72 63 | 41 64 72 31 42 69 74 0d |temp,src|Adr1Bit.| |00001510| 09 09 3b 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 09 |..; ----|------..| |00001520| 09 6d 6f 76 65 2e 77 09 | 2e 73 72 63 4f 75 72 73 |.move.w.|.srcOurs| |00001530| 2b 2e 6f 75 72 4c 62 69 | 74 73 2c 74 65 6d 70 09 |+.ourLbi|ts,temp.| |00001540| 3b 20 53 6b 69 70 20 74 | 68 65 20 4c 65 66 74 20 |; Skip t|he Left | |00001550| 6d 61 72 67 69 6e 2e 0d | 09 09 65 78 74 2e 6c 09 |margin..|..ext.l.| |00001560| 74 65 6d 70 0d 09 09 61 | 64 64 2e 6c 09 74 65 6d |temp...a|dd.l.tem| |00001570| 70 2c 73 72 63 41 64 72 | 31 42 69 74 0d 09 09 3b |p,srcAdr|1Bit...;| |00001580| 20 7e 7e 7e 7e 7e 7e 7e | 7e 7e 7e 0d 09 09 6d 6f | ~~~~~~~|~~~...mo| |00001590| 76 65 2e 6c 09 2e 64 73 | 74 4f 75 72 73 2b 2e 6f |ve.l..ds|tOurs+.o| |000015a0| 75 72 42 61 73 65 2c 74 | 65 6d 70 09 3b 20 44 69 |urBase,t|emp.; Di| |000015b0| 74 74 6f 20 66 6f 72 20 | 64 65 73 74 69 6e 61 74 |tto for |destinat| |000015c0| 69 6f 6e 2e 0d 09 09 6c | 73 6c 2e 6c 09 23 33 2c |ion....l|sl.l.#3,| |000015d0| 74 65 6d 70 0d 09 09 6d | 6f 76 65 2e 6c 09 74 65 |temp...m|ove.l.te| |000015e0| 6d 70 2c 64 73 74 41 64 | 72 31 42 69 74 0d 09 09 |mp,dstAd|r1Bit...| |000015f0| 3b 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 09 09 6d |; ------|----...m| |00001600| 6f 76 65 2e 77 09 2e 64 | 73 74 4f 75 72 73 2b 2e |ove.w..d|stOurs+.| |00001610| 6f 75 72 4c 62 69 74 73 | 2c 74 65 6d 70 0d 09 09 |ourLbits|,temp...| |00001620| 65 78 74 2e 6c 09 74 65 | 6d 70 0d 09 09 61 64 64 |ext.l.te|mp...add| |00001630| 2e 6c 09 74 65 6d 70 2c | 64 73 74 41 64 72 31 42 |.l.temp,|dstAdr1B| |00001640| 69 74 0d 09 09 3b 20 7e | 7e 7e 7e 7e 7e 7e 7e 7e |it...; ~|~~~~~~~~| |00001650| 7e 0d 09 09 6d 6f 76 65 | 2e 77 09 2e 73 72 63 4f |~...move|.w..srcO| |00001660| 75 72 73 2b 2e 6f 75 72 | 43 6f 6c 73 2c 70 69 78 |urs+.our|Cols,pix| |00001670| 57 69 64 65 0d 09 09 6d | 6f 76 65 2e 77 09 2e 73 |Wide...m|ove.w..s| |00001680| 72 63 4f 75 72 73 2b 2e | 6f 75 72 52 6f 77 73 2c |rcOurs+.|ourRows,| |00001690| 74 65 6d 70 09 3b 20 4e | 6f 72 6d 61 6c 69 7a 65 |temp.; N|ormalize| |000016a0| 64 20 2d 2d 3e 0d 09 09 | 61 64 64 71 2e 77 09 23 |d -->...|addq.w.#| |000016b0| 31 2c 74 65 6d 70 09 09 | 09 3b 20 20 20 75 6e 2d |1,temp..|.; un-| |000016c0| 4e 6f 72 6d 61 6c 69 7a | 65 64 2e 0d 09 09 65 78 |Normaliz|ed....ex| |000016d0| 74 2e 6c 09 74 65 6d 70 | 0d 09 09 6c 73 6c 2e 6c |t.l.temp|...lsl.l| |000016e0| 09 77 69 64 74 68 53 72 | 63 2c 74 65 6d 70 0d 09 |.widthSr|c,temp..| |000016f0| 09 6d 6f 76 65 2e 6c 09 | 74 65 6d 70 2c 61 34 0d |.move.l.|temp,a4.| |00001700| 09 09 6d 6f 76 65 2e 77 | 09 77 69 64 74 68 53 72 |..move.w|.widthSr| |00001710| 63 2c 64 32 0d 0d 09 09 | 3b 20 2d 2d 2d 2d 2d 2d |c,d2....|; ------| |00001720| 2d 2d 2d 2d 0d 09 09 3b | 20 54 72 79 20 74 6f 20 |----...;| Try to | |00001730| 72 65 64 75 63 65 20 74 | 68 65 20 61 6d 6f 75 6e |reduce t|he amoun| |00001740| 74 20 77 65 20 73 68 69 | 66 74 20 64 6f 77 6e 20 |t we shi|ft down | |00001750| 44 32 2e 20 20 54 68 69 | 73 20 0d 09 09 3b 20 70 |D2. Thi|s ...; p| |00001760| 72 6f 63 65 73 73 20 69 | 6e 76 6f 6c 76 65 73 20 |rocess i|nvolves | |00001770| 68 61 6c 76 69 6e 67 20 | 74 68 65 20 53 74 72 69 |halving |the Stri| |00001780| 64 65 73 20 61 73 20 6c | 6f 6e 67 20 61 73 20 0d |des as l|ong as .| |00001790| 09 09 3b 20 65 61 63 68 | 20 69 73 20 65 76 65 6e |..; each| is even| |000017a0| 2c 20 64 65 63 72 65 6d | 65 6e 74 69 6e 67 20 44 |, decrem|enting D| |000017b0| 32 20 61 73 20 77 65 20 | 67 6f 20 26 20 6d 61 73 |2 as we |go & mas| |000017c0| 6b 69 6e 67 20 74 68 65 | 0d 09 09 3b 20 74 68 65 |king the|...; the| |000017d0| 20 62 6f 74 74 6f 6d 20 | 62 69 74 73 20 6f 66 66 | bottom |bits off| |000017e0| 20 44 34 20 77 68 65 6e | 20 77 65 20 65 78 74 72 | D4 when| we extr| |000017f0| 61 63 74 20 74 68 65 20 | 72 6f 77 20 63 6f 75 6e |act the |row coun| |00001800| 74 3a 0d 09 09 0d 09 09 | 6d 6f 76 65 2e 77 09 2e |t:......|move.w..| |00001810| 73 72 63 4f 75 72 73 2b | 2e 6f 75 72 53 74 72 69 |srcOurs+|.ourStri| |00001820| 64 65 2c 64 34 0d 09 09 | 6d 6f 76 65 2e 77 09 2e |de,d4...|move.w..| |00001830| 64 73 74 4f 75 72 73 2b | 2e 6f 75 72 53 74 72 69 |dstOurs+|.ourStri| |00001840| 64 65 2c 64 37 0d 09 09 | 6d 6f 76 65 2e 77 09 2e |de,d7...|move.w..| |00001850| 73 72 63 4f 75 72 73 2b | 2e 6f 75 72 52 6f 77 73 |srcOurs+|.ourRows| |00001860| 2c 64 31 0d 09 09 74 73 | 74 2e 77 09 64 32 0d 09 |,d1...ts|t.w.d2..| |00001870| 09 62 65 71 2e 73 09 2e | 48 61 6c 66 44 6f 6e 65 |.beq.s..|HalfDone| |00001880| 0d 09 09 0d 2e 48 61 6c | 66 4c 6f 6f 70 09 62 74 |.....Hal|fLoop.bt| |00001890| 73 74 09 23 30 2c 64 34 | 0d 09 09 62 6e 65 2e 73 |st.#0,d4|...bne.s| |000018a0| 09 2e 48 61 6c 66 44 6f | 6e 65 0d 09 09 62 74 73 |..HalfDo|ne...bts| |000018b0| 74 09 23 30 2c 64 37 0d | 09 09 62 6e 65 2e 73 09 |t.#0,d7.|..bne.s.| |000018c0| 2e 48 61 6c 66 44 6f 6e | 65 0d 09 09 6c 73 6c 2e |.HalfDon|e...lsl.| |000018d0| 77 09 23 31 2c 64 31 0d | 09 09 62 63 73 2e 73 09 |w.#1,d1.|..bcs.s.| |000018e0| 2e 48 61 6c 66 44 6f 6e | 65 0d 09 09 6c 73 72 2e |.HalfDon|e...lsr.| |000018f0| 77 09 23 31 2c 64 34 0d | 09 09 6c 73 72 2e 77 09 |w.#1,d4.|..lsr.w.| |00001900| 23 31 2c 64 37 0d 09 09 | 73 75 62 71 2e 77 09 23 |#1,d7...|subq.w.#| |00001910| 31 2c 64 32 0d 09 09 62 | 6e 65 2e 73 09 2e 48 61 |1,d2...b|ne.s..Ha| |00001920| 6c 66 4c 6f 6f 70 0d 09 | 09 0d 2e 48 61 6c 66 44 |lfLoop..|...HalfD| |00001930| 6f 6e 65 09 6d 6f 76 65 | 2e 77 09 64 34 2c 2e 73 |one.move|.w.d4,.s| |00001940| 72 63 4f 75 72 73 2b 2e | 6f 75 72 53 74 72 69 64 |rcOurs+.|ourStrid| |00001950| 65 0d 09 09 6d 6f 76 65 | 2e 77 09 64 37 2c 2e 64 |e...move|.w.d7,.d| |00001960| 73 74 4f 75 72 73 2b 2e | 6f 75 72 53 74 72 69 64 |stOurs+.|ourStrid| |00001970| 65 0d 09 09 63 6c 72 2e | 6c 09 64 36 0d 09 09 0d |e...clr.|l.d6....| |00001980| 09 09 3b 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 09 |..; ----|------..| |00001990| 09 3b 20 4d 61 6b 65 20 | 73 6f 6d 65 20 73 74 75 |.; Make |some stu| |000019a0| 66 66 20 66 61 73 74 65 | 72 20 74 6f 20 61 63 63 |ff faste|r to acc| |000019b0| 65 73 73 20 2d 2d 20 75 | 73 65 20 74 68 65 20 66 |ess -- u|se the f| |000019c0| 61 63 74 0d 09 09 3b 20 | 74 68 61 74 20 28 41 6e |act...; |that (An| |000019d0| 29 20 69 73 20 66 61 73 | 74 65 72 20 74 6f 20 61 |) is fas|ter to a| |000019e0| 63 63 65 73 73 20 74 68 | 61 6e 20 64 28 41 6e 29 |ccess th|an d(An)| |000019f0| 3a 0d 09 09 0d 09 09 70 | 75 73 68 2e 6c 09 73 72 |:......p|ush.l.sr| |00001a00| 63 41 64 72 31 42 69 74 | 09 09 3b 20 45 78 69 74 |cAdr1Bit|..; Exit| |00001a10| 20 4d 41 43 52 4f 20 64 | 65 73 74 72 6f 79 73 20 | MACRO d|estroys | |00001a20| 41 30 2e 0d 09 09 63 6c | 72 2e 77 09 2d 28 73 70 |A0....cl|r.w.-(sp| |00001a30| 29 09 09 09 3b 20 46 55 | 4e 43 54 49 4f 4e 61 6c |)...; FU|NCTIONal| |00001a40| 20 72 65 73 75 6c 74 2e | 0d 09 09 70 65 61 09 2e | result.|...pea..| |00001a50| 73 72 63 4f 75 72 73 2b | 2e 6f 75 72 53 74 72 69 |srcOurs+|.ourStri| |00001a60| 64 65 09 3b 20 56 41 52 | 73 20 2e 2e 2e 0d 09 09 |de.; VAR|s ......| |00001a70| 70 65 61 09 2e 64 73 74 | 4f 75 72 73 2b 2e 6f 75 |pea..dst|Ours+.ou| |00001a80| 72 53 74 72 69 64 65 0d | 09 09 62 73 72 09 4d 75 |rStride.|..bsr.Mu| |00001a90| 6c 43 68 6b 0d 09 09 74 | 73 74 2e 77 09 28 73 70 |lChk...t|st.w.(sp| |00001aa0| 29 2b 0d 09 09 62 65 71 | 09 2e 4d 61 69 6e 0d 09 |)+...beq|..Main..| |00001ab0| 09 0d 09 09 3b 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |....; --|--------| |00001ac0| 0d 2e 4e 6f 4d 75 6c 09 | 09 70 6f 70 2e 6c 09 73 |..NoMul.|.pop.l.s| |00001ad0| 72 63 41 64 72 31 42 69 | 74 0d 09 09 70 75 73 68 |rcAdr1Bi|t...push| |00001ae0| 2e 6c 09 63 79 4d 61 73 | 6b 42 79 74 65 0d 09 09 |.l.cyMas|kByte...| |00001af0| 6d 6f 76 65 2e 77 09 2e | 73 72 63 4f 75 72 73 2b |move.w..|srcOurs+| |00001b00| 2e 6f 75 72 53 74 72 69 | 64 65 2c 73 72 63 4c 4f |.ourStri|de,srcLO| |00001b10| 47 73 74 72 69 64 65 20 | 20 20 3b 20 52 65 70 6c |Gstride | ; Repl| |00001b20| 61 63 65 64 20 62 79 0d | 09 09 6d 6f 76 65 2e 77 |aced by.|..move.w| |00001b30| 09 2e 64 73 74 4f 75 72 | 73 2b 2e 6f 75 72 53 74 |..dstOur|s+.ourSt| |00001b40| 72 69 64 65 2c 64 73 74 | 4c 4f 47 73 74 72 69 64 |ride,dst|LOGstrid| |00001b50| 65 20 20 20 3b 20 20 20 | 74 68 65 69 72 20 4c 4f |e ; |their LO| |00001b60| 47 73 2e 0d 09 09 0d 2e | 4d 75 6c 4c 6f 6f 70 09 |Gs......|MulLoop.| |00001b70| 74 73 74 2e 77 09 64 32 | 0d 09 09 62 65 71 2e 73 |tst.w.d2|...beq.s| |00001b80| 09 2e 4e 6f 4d 75 6c 32 | 0d 09 09 63 6d 70 69 2e |..NoMul2|...cmpi.| |00001b90| 77 09 23 30 2c 73 72 63 | 4c 4f 47 73 74 72 69 64 |w.#0,src|LOGstrid| |00001ba0| 65 0d 09 09 62 65 71 2e | 73 09 2e 4e 6f 4d 75 6c |e...beq.|s..NoMul| |00001bb0| 32 0d 09 09 63 6d 70 69 | 2e 77 09 23 30 2c 64 73 |2...cmpi|.w.#0,ds| |00001bc0| 74 4c 4f 47 73 74 72 69 | 64 65 0d 09 09 62 65 71 |tLOGstri|de...beq| |00001bd0| 2e 73 09 2e 4e 6f 4d 75 | 6c 32 0d 09 09 3b 20 2d |.s..NoMu|l2...; -| |00001be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 09 09 73 75 62 71 |--------|-...subq| |00001bf0| 2e 77 09 23 31 2c 64 32 | 0d 09 09 73 75 62 71 2e |.w.#1,d2|...subq.| |00001c00| 77 09 23 31 2c 73 72 63 | 4c 4f 47 73 74 72 69 64 |w.#1,src|LOGstrid| |00001c10| 65 0d 09 09 73 75 62 71 | 2e 77 09 23 31 2c 64 73 |e...subq|.w.#1,ds| |00001c20| 74 4c 4f 47 73 74 72 69 | 64 65 0d 09 09 62 72 61 |tLOGstri|de...bra| |00001c30| 2e 73 09 2e 4d 75 6c 4c | 6f 6f 70 0d 09 09 0d 2e |.s..MulL|oop.....| |00001c40| 4e 6f 4d 75 6c 32 09 09 | 74 73 74 2e 77 09 64 32 |NoMul2..|tst.w.d2| |00001c50| 0d 09 09 62 6e 65 2e 73 | 09 2e 4e 6c 6f 6f 70 0d |...bne.s|..Nloop.| |00001c60| 09 09 63 6d 70 69 2e 77 | 09 23 30 2c 73 72 63 4c |..cmpi.w|.#0,srcL| |00001c70| 4f 47 73 74 72 69 64 65 | 0d 09 09 62 6e 65 2e 73 |OGstride|...bne.s| |00001c80| 09 2e 4e 6c 6f 6f 70 0d | 09 09 63 6d 70 69 2e 77 |..Nloop.|..cmpi.w| |00001c90| 09 23 30 2c 64 73 74 4c | 4f 47 73 74 72 69 64 65 |.#0,dstL|OGstride| |00001ca0| 0d 09 09 62 6e 65 2e 73 | 09 2e 4e 6c 6f 6f 70 0d |...bne.s|..Nloop.| |00001cb0| 09 09 63 6d 70 2e 77 09 | 70 69 78 57 69 64 65 2c |..cmp.w.|pixWide,| |00001cc0| 62 69 74 4d 61 73 6b 0d | 09 09 62 6e 65 2e 73 09 |bitMask.|..bne.s.| |00001cd0| 2e 4e 6c 6f 6f 70 0d 09 | 09 6d 6f 76 65 2e 77 09 |.Nloop..|.move.w.| |00001ce0| 73 72 63 41 64 72 31 42 | 69 74 2c 64 36 0d 09 09 |srcAdr1B|it,d6...| |00001cf0| 61 6e 64 69 2e 62 09 23 | 37 2c 64 36 0d 09 09 62 |andi.b.#|7,d6...b| |00001d00| 6e 65 2e 73 09 2e 4e 6c | 6f 6f 70 0d 09 09 6d 6f |ne.s..Nl|oop...mo| |00001d10| 76 65 2e 77 09 64 73 74 | 41 64 72 31 42 69 74 2c |ve.w.dst|Adr1Bit,| |00001d20| 64 36 0d 09 09 61 6e 64 | 69 2e 62 09 23 37 2c 64 |d6...and|i.b.#7,d| |00001d30| 36 0d 09 09 62 65 71 2e | 73 09 2e 53 63 72 65 65 |6...beq.|s..Scree| |00001d40| 6e 0d 09 09 0d 09 09 3b | 20 2d 2d 2d 2d 2d 2d 2d |n......;| -------| |00001d50| 2d 2d 2d 0d 09 09 3b 20 | 54 68 69 73 20 6c 6f 6f |---...; |This loo| |00001d60| 70 20 69 73 20 75 73 65 | 64 20 77 68 65 6e 20 62 |p is use|d when b| |00001d70| 6f 74 68 20 73 6f 75 72 | 63 65 20 26 20 64 65 73 |oth sour|ce & des| |00001d80| 74 69 6e 61 74 69 6f 6e | 0d 09 09 3b 20 42 69 74 |tination|...; Bit| |00001d90| 4d 61 70 73 20 68 61 76 | 65 20 53 74 72 69 64 65 |Maps hav|e Stride| |00001da0| 73 20 74 68 61 74 20 61 | 72 65 20 70 6f 77 65 72 |s that a|re power| |00001db0| 73 20 6f 66 20 32 3a 0d | 09 09 0d 2e 4e 6c 6f 6f |s of 2:.|....Nloo| |00001dc0| 70 09 09 6d 6f 76 65 2e | 77 09 73 72 63 4c 4f 47 |p..move.|w.srcLOG| |00001dd0| 73 74 72 69 64 65 2c 2e | 73 72 63 4f 75 72 73 2b |stride,.|srcOurs+| |00001de0| 2e 6f 75 72 53 74 72 69 | 64 65 0d 09 09 6d 6f 76 |.ourStri|de...mov| |00001df0| 65 2e 77 09 64 73 74 4c | 4f 47 73 74 72 69 64 65 |e.w.dstL|OGstride| |00001e00| 2c 2e 64 73 74 4f 75 72 | 73 2b 2e 6f 75 72 53 74 |,.dstOur|s+.ourSt| |00001e10| 72 69 64 65 0d 09 09 70 | 6f 70 2e 6c 09 63 79 4d |ride...p|op.l.cyM| |00001e20| 61 73 6b 42 79 74 65 0d | 09 09 63 6d 70 2e 6c 09 |askByte.|..cmp.l.| |00001e30| 61 34 2c 63 79 4d 61 73 | 6b 42 79 74 65 0d 09 09 |a4,cyMas|kByte...| |00001e40| 62 67 65 2e 73 09 2e 4e | 6e 65 78 74 0d 09 09 0d |bge.s..N|next....| |00001e50| 2e 4e 6c 6f 6f 70 52 6f | 77 09 6d 6f 76 65 2e 77 |.NloopRo|w.move.w| |00001e60| 09 63 79 4d 61 73 6b 42 | 79 74 65 2c 64 36 0d 09 |.cyMaskB|yte,d6..| |00001e70| 09 61 6e 64 2e 77 09 62 | 69 74 4d 61 73 6b 2c 64 |.and.w.b|itMask,d| |00001e80| 36 0d 09 09 63 6d 70 2e | 77 09 70 69 78 57 69 64 |6...cmp.|w.pixWid| |00001e90| 65 2c 64 36 0d 09 09 62 | 67 74 2e 73 09 2e 4e 6e |e,d6...b|gt.s..Nn| |00001ea0| 65 78 74 0d 09 09 6d 6f | 76 65 2e 6c 09 63 79 4d |ext...mo|ve.l.cyM| |00001eb0| 61 73 6b 42 79 74 65 2c | 64 34 0d 09 09 73 75 62 |askByte,|d4...sub| |00001ec0| 2e 77 09 64 36 2c 64 34 | 0d 09 09 6c 73 72 2e 6c |.w.d6,d4|...lsr.l| |00001ed0| 09 64 32 2c 64 34 0d 09 | 09 6d 6f 76 65 2e 77 09 |.d2,d4..|.move.w.| |00001ee0| 2e 73 72 63 4f 75 72 73 | 2b 2e 6f 75 72 53 74 72 |.srcOurs|+.ourStr| |00001ef0| 69 64 65 2c 64 37 0d 09 | 09 6d 6f 76 65 2e 6c 09 |ide,d7..|.move.l.| |00001f00| 64 34 2c 64 31 0d 09 09 | 6c 73 6c 2e 6c 09 64 37 |d4,d1...|lsl.l.d7| |00001f10| 2c 64 31 0d 09 09 61 64 | 64 2e 6c 09 64 36 2c 64 |,d1...ad|d.l.d6,d| |00001f20| 31 0d 09 09 61 64 64 2e | 6c 09 73 72 63 41 64 72 |1...add.|l.srcAdr| |00001f30| 31 42 69 74 2c 64 31 0d | 09 09 6d 6f 76 65 2e 62 |1Bit,d1.|..move.b| |00001f40| 09 64 31 2c 64 37 0d 09 | 09 6c 73 72 2e 6c 09 23 |.d1,d7..|.lsr.l.#| |00001f50| 33 2c 64 31 0d 09 09 6d | 6f 76 65 2e 6c 09 64 31 |3,d1...m|ove.l.d1| |00001f60| 2c 61 33 0d 09 09 6e 6f | 74 2e 62 09 64 37 0d 09 |,a3...no|t.b.d7..| |00001f70| 09 3b 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 09 09 |.; -----|-----...| |00001f80| 6d 6f 76 65 2e 77 09 2e | 64 73 74 4f 75 72 73 2b |move.w..|dstOurs+| |00001f90| 2e 6f 75 72 53 74 72 69 | 64 65 2c 64 31 0d 09 09 |.ourStri|de,d1...| |00001fa0| 6c 73 6c 2e 6c 09 64 31 | 2c 64 34 0d 09 09 61 64 |lsl.l.d1|,d4...ad| |00001fb0| 64 2e 6c 09 64 36 2c 64 | 34 0d 09 09 61 64 64 2e |d.l.d6,d|4...add.| |00001fc0| 6c 09 64 73 74 41 64 72 | 31 42 69 74 2c 64 34 0d |l.dstAdr|1Bit,d4.| |00001fd0| 09 09 6d 6f 76 65 2e 62 | 09 64 34 2c 64 36 0d 09 |..move.b|.d4,d6..| |00001fe0| 09 6c 73 72 2e 6c 09 23 | 33 2c 64 34 0d 09 09 6e |.lsr.l.#|3,d4...n| |00001ff0| 6f 74 2e 62 09 64 36 0d | 09 09 62 74 73 74 09 64 |ot.b.d6.|..btst.d| |00002000| 37 2c 28 61 33 29 0d 09 | 09 6d 6f 76 65 2e 6c 09 |7,(a3)..|.move.l.| |00002010| 64 34 2c 61 33 0d 09 09 | 62 6e 65 2e 73 09 2e 4e |d4,a3...|bne.s..N| |00002020| 73 65 74 4f 4e 0d 09 09 | 62 63 6c 72 09 64 36 2c |setON...|bclr.d6,| |00002030| 28 61 33 29 0d 09 09 0d | 2e 4e 6e 65 78 74 09 09 |(a3)....|.Nnext..| |00002040| 6c 73 72 2e 6c 09 23 31 | 2c 63 79 4d 61 73 6b 42 |lsr.l.#1|,cyMaskB| |00002050| 79 74 65 0d 09 09 62 68 | 69 2e 73 09 2e 4e 6c 6f |yte...bh|i.s..Nlo| |00002060| 6f 70 52 6f 77 0d 09 09 | 65 6f 72 2e 6c 09 64 33 |opRow...|eor.l.d3| |00002070| 2c 63 79 4d 61 73 6b 42 | 79 74 65 0d 09 09 63 6d |,cyMaskB|yte...cm| |00002080| 70 2e 6c 09 64 33 2c 63 | 79 4d 61 73 6b 42 79 74 |p.l.d3,c|yMaskByt| |00002090| 65 0d 09 09 62 6e 65 2e | 73 09 2e 4e 6c 6f 6f 70 |e...bne.|s..Nloop| |000020a0| 0d 09 09 62 72 61 09 2e | 44 6f 6e 65 0d 09 09 0d |...bra..|Done....| |000020b0| 2e 4e 73 65 74 4f 4e 09 | 09 62 73 65 74 09 64 36 |.NsetON.|.bset.d6| |000020c0| 2c 28 61 33 29 0d 09 09 | 6c 73 72 2e 6c 09 23 31 |,(a3)...|lsr.l.#1| |000020d0| 2c 63 79 4d 61 73 6b 42 | 79 74 65 0d 09 09 62 68 |,cyMaskB|yte...bh| |000020e0| 69 2e 73 09 2e 4e 6c 6f | 6f 70 52 6f 77 0d 09 09 |i.s..Nlo|opRow...| |000020f0| 65 6f 72 2e 6c 09 64 33 | 2c 63 79 4d 61 73 6b 42 |eor.l.d3|,cyMaskB| |00002100| 79 74 65 0d 09 09 63 6d | 70 2e 6c 09 64 33 2c 63 |yte...cm|p.l.d3,c| |00002110| 79 4d 61 73 6b 42 79 74 | 65 0d 09 09 62 6e 65 2e |yMaskByt|e...bne.| |00002120| 73 09 2e 4e 6c 6f 6f 70 | 0d 09 09 62 72 61 09 2e |s..Nloop|...bra..| |00002130| 44 6f 6e 65 0d 09 09 0d | 09 09 3b 20 2d 2d 2d 2d |Done....|..; ----| |00002140| 2d 2d 2d 2d 2d 2d 0d 09 | 09 3b 20 53 75 70 65 72 |------..|.; Super| |00002150| 2d 73 70 65 63 69 61 6c | 20 63 61 73 65 20 74 68 |-special| case th| |00002160| 61 74 20 68 6f 6c 64 73 | 20 66 6f 72 20 74 68 65 |at holds| for the| |00002170| 20 65 6e 74 69 72 65 20 | 73 63 72 65 65 6e 3a 0d | entire |screen:.| |00002180| 0d 2e 53 63 72 65 65 6e | 09 09 6d 6f 76 65 2e 77 |..Screen|..move.w| |00002190| 09 73 72 63 4c 4f 47 73 | 74 72 69 64 65 2c 2e 73 |.srcLOGs|tride,.s| |000021a0| 72 63 4f 75 72 73 2b 2e | 6f 75 72 53 74 72 69 64 |rcOurs+.|ourStrid| |000021b0| 65 0d 09 09 6d 6f 76 65 | 2e 77 09 64 73 74 4c 4f |e...move|.w.dstLO| |000021c0| 47 73 74 72 69 64 65 2c | 2e 64 73 74 4f 75 72 73 |Gstride,|.dstOurs| |000021d0| 2b 2e 6f 75 72 53 74 72 | 69 64 65 0d 09 09 70 6f |+.ourStr|ide...po| |000021e0| 70 2e 6c 09 63 79 4d 61 | 73 6b 42 79 74 65 0d 09 |p.l.cyMa|skByte..| |000021f0| 09 6d 6f 76 65 2e 6c 09 | 73 72 63 41 64 72 31 42 |.move.l.|srcAdr1B| |00002200| 69 74 2c 64 36 0d 09 09 | 6c 73 72 2e 6c 09 23 33 |it,d6...|lsr.l.#3| |00002210| 2c 64 36 0d 09 09 6d 6f | 76 65 2e 6c 09 64 36 2c |,d6...mo|ve.l.d6,| |00002220| 73 72 63 41 64 72 31 42 | 79 74 65 0d 09 09 6d 6f |srcAdr1B|yte...mo| |00002230| 76 65 2e 6c 09 64 73 74 | 41 64 72 31 42 69 74 2c |ve.l.dst|Adr1Bit,| |00002240| 64 36 0d 09 09 6c 73 72 | 2e 6c 09 23 33 2c 64 36 |d6...lsr|.l.#3,d6| |00002250| 0d 09 09 6d 6f 76 65 2e | 6c 09 64 36 2c 64 73 74 |...move.|l.d6,dst| |00002260| 41 64 72 31 42 79 74 65 | 0d 09 09 62 72 61 2e 73 |Adr1Byte|...bra.s| |00002270| 09 2e 4e 32 4c 6f 6f 70 | 0d 09 09 0d 2e 4e 32 48 |..N2Loop|.....N2H| |00002280| 65 61 64 09 09 65 6f 72 | 2e 6c 09 4d 61 73 6b 42 |ead..eor|.l.MaskB| |00002290| 79 74 65 2c 63 79 4d 61 | 73 6b 42 79 74 65 0d 09 |yte,cyMa|skByte..| |000022a0| 09 0d 2e 4e 32 4c 6f 6f | 70 09 09 63 6d 70 2e 6c |...N2Loo|p..cmp.l| |000022b0| 09 61 34 2c 63 79 4d 61 | 73 6b 42 79 74 65 0d 09 |.a4,cyMa|skByte..| |000022c0| 09 62 67 65 2e 73 09 2e | 4e 32 4e 65 78 74 0d 09 |.bge.s..|N2Next..| |000022d0| 09 0d 2e 4e 32 4c 6f 6f | 70 52 6f 77 09 6d 6f 76 |...N2Loo|pRow.mov| |000022e0| 65 2e 6c 09 63 79 4d 61 | 73 6b 42 79 74 65 2c 64 |e.l.cyMa|skByte,d| |000022f0| 31 0d 09 09 6c 73 72 2e | 6c 09 23 33 2c 64 31 0d |1...lsr.|l.#3,d1.| |00002300| 09 09 62 74 73 74 09 63 | 79 4d 61 73 6b 42 79 74 |..btst.c|yMaskByt| |00002310| 65 2c 30 28 73 72 63 41 | 64 72 31 42 79 74 65 2c |e,0(srcA|dr1Byte,| |00002320| 64 31 29 0d 09 09 62 6e | 65 2e 73 09 2e 4e 32 73 |d1)...bn|e.s..N2s| |00002330| 65 74 4f 4e 0d 09 09 62 | 63 6c 72 09 63 79 4d 61 |etON...b|clr.cyMa| |00002340| 73 6b 42 79 74 65 2c 30 | 28 64 73 74 41 64 72 31 |skByte,0|(dstAdr1| |00002350| 42 79 74 65 2c 64 31 29 | 0d 09 09 0d 2e 4e 32 4e |Byte,d1)|.....N2N| |00002360| 65 78 74 09 09 6c 73 72 | 2e 6c 09 23 31 2c 63 79 |ext..lsr|.l.#1,cy| |00002370| 4d 61 73 6b 42 79 74 65 | 0d 09 09 62 68 69 2e 73 |MaskByte|...bhi.s| |00002380| 09 2e 4e 32 4c 6f 6f 70 | 52 6f 77 0d 09 09 62 6e |..N2Loop|Row...bn| |00002390| 65 2e 73 09 2e 4e 32 48 | 65 61 64 0d 09 09 62 72 |e.s..N2H|ead...br| |000023a0| 61 2e 73 09 2e 4e 32 44 | 6f 6e 65 0d 09 09 0d 2e |a.s..N2D|one.....| |000023b0| 4e 32 73 65 74 4f 4e 09 | 62 73 65 74 09 63 79 4d |N2setON.|bset.cyM| |000023c0| 61 73 6b 42 79 74 65 2c | 30 28 64 73 74 41 64 72 |askByte,|0(dstAdr| |000023d0| 31 42 79 74 65 2c 64 31 | 29 0d 09 09 6c 73 72 2e |1Byte,d1|)...lsr.| |000023e0| 6c 09 23 31 2c 63 79 4d | 61 73 6b 42 79 74 65 0d |l.#1,cyM|askByte.| |000023f0| 09 09 62 68 69 2e 73 09 | 2e 4e 32 4c 6f 6f 70 52 |..bhi.s.|.N2LoopR| |00002400| 6f 77 0d 09 09 62 6e 65 | 2e 73 09 2e 4e 32 48 65 |ow...bne|.s..N2He| |00002410| 61 64 0d 09 09 0d 2e 4e | 32 44 6f 6e 65 09 09 6d |ad.....N|2Done..m| |00002420| 6f 76 65 2e 77 09 2e 73 | 72 63 4f 75 72 73 2b 2e |ove.w..s|rcOurs+.| |00002430| 6f 75 72 4c 62 69 74 73 | 2c 64 30 0d 09 09 6d 6f |ourLbits|,d0...mo| |00002440| 76 65 2e 77 09 2e 64 73 | 74 4f 75 72 73 2b 2e 6f |ve.w..ds|tOurs+.o| |00002450| 75 72 4c 62 69 74 73 2c | 64 31 0d 09 09 62 72 61 |urLbits,|d1...bra| |00002460| 09 2e 44 6f 6e 65 41 09 | 09 09 3b 20 41 6c 74 65 |..DoneA.|..; Alte| |00002470| 72 6e 61 74 65 20 66 69 | 6e 69 73 68 20 65 6e 74 |rnate fi|nish ent| |00002480| 72 79 2e 0d 09 09 0d 09 | 09 3b 20 2d 2d 2d 2d 2d |ry......|.; -----| |00002490| 2d 2d 2d 2d 2d 0d 09 09 | 3b 20 4d 61 69 6e 20 4c |-----...|; Main L| |000024a0| 6f 6f 70 3a 0d 09 09 3b | 20 20 20 4d 61 70 20 74 |oop:...;| Map t| |000024b0| 68 65 20 73 65 71 75 65 | 6e 63 65 20 65 6c 65 6d |he seque|nce elem| |000024c0| 65 6e 74 20 69 6e 74 6f | 20 72 6f 77 73 20 26 20 |ent into| rows & | |000024d0| 63 6f 6c 75 6d 6e 73 2e | 0d 09 09 3b 20 20 20 43 |columns.|...; C| |000024e0| 68 65 63 6b 20 69 66 20 | 69 74 27 73 20 69 6e 20 |heck if |it's in | |000024f0| 62 6f 75 6e 64 73 20 61 | 6e 64 20 73 6b 69 70 20 |bounds a|nd skip | |00002500| 6f 6e 20 69 66 20 6e 6f | 74 2e 0d 09 09 3b 20 20 |on if no|t....; | |00002510| 20 47 65 6e 65 72 61 74 | 65 20 6e 65 78 74 20 65 | Generat|e next e| |00002520| 6c 65 6d 65 6e 74 20 75 | 6e 74 69 6c 20 66 69 6e |lement u|ntil fin| |00002530| 69 73 68 65 64 2e 0d 0d | 2e 4d 61 69 6e 09 09 70 |ished...|.Main..p| |00002540| 6f 70 2e 6c 09 73 72 63 | 41 64 72 31 42 69 74 0d |op.l.src|Adr1Bit.| |00002550| 2e 4d 61 69 6e 4c 6f 6f | 70 09 63 6d 70 2e 6c 09 |.MainLoo|p.cmp.l.| |00002560| 61 34 2c 63 79 4d 61 73 | 6b 42 79 74 65 09 09 3b |a4,cyMas|kByte..;| |00002570| 20 49 73 20 72 6f 77 20 | 69 6e 20 62 6f 75 6e 64 | Is row |in bound| |00002580| 73 20 3f 3f 0d 09 09 62 | 67 65 2e 73 09 2e 4e 65 |s ??...b|ge.s..Ne| |00002590| 78 74 0d 09 09 0d 09 09 | 3b 20 2d 2d 2d 2d 2d 2d |xt......|; ------| |000025a0| 2d 2d 2d 2d 0d 09 09 3b | 20 4d 61 70 20 69 74 20 |----...;| Map it | |000025b0| 69 6e 74 6f 20 74 68 65 | 20 63 6f 6c 75 6d 6e 2e |into the| column.| |000025c0| 20 20 54 68 65 6e 20 63 | 68 65 63 6b 20 62 6f 75 | Then c|heck bou| |000025d0| 6e 64 73 3a 0d 09 09 0d | 2e 4c 6f 6f 70 52 6f 77 |nds:....|.LoopRow| |000025e0| 09 6d 6f 76 65 2e 77 09 | 63 79 4d 61 73 6b 42 79 |.move.w.|cyMaskBy| |000025f0| 74 65 2c 64 36 0d 09 09 | 61 6e 64 2e 77 09 62 69 |te,d6...|and.w.bi| |00002600| 74 4d 61 73 6b 2c 64 36 | 0d 09 09 63 6d 70 2e 77 |tMask,d6|...cmp.w| |00002610| 09 70 69 78 57 69 64 65 | 2c 64 36 0d 09 09 62 67 |.pixWide|,d6...bg| |00002620| 74 2e 73 09 2e 4e 65 78 | 74 0d 09 09 6d 6f 76 65 |t.s..Nex|t...move| |00002630| 2e 6c 09 63 79 4d 61 73 | 6b 42 79 74 65 2c 64 34 |.l.cyMas|kByte,d4| |00002640| 0d 09 09 73 75 62 2e 77 | 09 64 36 2c 64 34 0d 09 |...sub.w|.d6,d4..| |00002650| 09 6c 73 72 2e 6c 09 64 | 32 2c 64 34 0d 09 09 0d |.lsr.l.d|2,d4....| |00002660| 09 09 3b 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 09 |..; ----|------..| |00002670| 09 3b 20 47 65 74 20 74 | 68 65 20 53 6f 75 72 63 |.; Get t|he Sourc| |00002680| 65 20 42 79 74 65 20 26 | 20 42 69 74 20 6f 66 66 |e Byte &| Bit off| |00002690| 73 65 74 3a 0d 09 09 0d | 09 09 6d 6f 76 65 2e 77 |set:....|..move.w| |000026a0| 09 2e 73 72 63 4f 75 72 | 73 2b 2e 6f 75 72 53 74 |..srcOur|s+.ourSt| |000026b0| 72 69 64 65 2c 64 31 0d | 09 09 6d 75 6c 75 09 64 |ride,d1.|..mulu.d| |000026c0| 34 2c 64 31 0d 09 09 61 | 64 64 2e 6c 09 64 36 2c |4,d1...a|dd.l.d6,| |000026d0| 64 31 0d 09 09 61 64 64 | 2e 6c 09 73 72 63 41 64 |d1...add|.l.srcAd| |000026e0| 72 31 42 79 74 65 2c 64 | 31 0d 09 09 6d 6f 76 65 |r1Byte,d|1...move| |000026f0| 2e 62 09 64 31 2c 64 37 | 0d 09 09 6c 73 72 2e 6c |.b.d1,d7|...lsr.l| |00002700| 09 23 33 2c 64 31 0d 09 | 09 6d 6f 76 65 2e 6c 09 |.#3,d1..|.move.l.| |00002710| 64 31 2c 61 33 0d 09 09 | 6e 6f 74 2e 62 09 64 37 |d1,a3...|not.b.d7| |00002720| 0d 09 09 0d 09 09 3b 20 | 2d 2d 2d 2d 2d 2d 2d 2d |......; |--------| |00002730| 2d 2d 0d 09 09 3b 20 46 | 69 6e 64 20 44 65 73 74 |--...; F|ind Dest| |00002740| 69 6e 61 74 69 6f 6e 20 | 42 69 74 20 61 64 64 72 |ination |Bit addr| |00002750| 65 73 73 20 26 20 42 69 | 74 20 6f 66 66 73 65 74 |ess & Bi|t offset| |00002760| 3a 0d 09 09 0d 09 09 6d | 6f 76 65 2e 77 09 2e 64 |:......m|ove.w..d| |00002770| 73 74 4f 75 72 73 2b 2e | 6f 75 72 53 74 72 69 64 |stOurs+.|ourStrid| |00002780| 65 2c 64 31 0d 09 09 6d | 75 6c 75 09 64 31 2c 64 |e,d1...m|ulu.d1,d| |00002790| 34 0d 09 09 61 64 64 2e | 6c 09 64 36 2c 64 34 0d |4...add.|l.d6,d4.| |000027a0| 09 09 61 64 64 2e 6c 09 | 64 73 74 41 64 72 31 42 |..add.l.|dstAdr1B| |000027b0| 79 74 65 2c 64 34 0d 09 | 09 6d 6f 76 65 2e 62 09 |yte,d4..|.move.b.| |000027c0| 64 34 2c 64 36 0d 09 09 | 6c 73 72 2e 6c 09 23 33 |d4,d6...|lsr.l.#3| |000027d0| 2c 64 34 0d 09 09 6e 6f | 74 2e 62 09 64 36 0d 09 |,d4...no|t.b.d6..| |000027e0| 09 62 74 73 74 09 64 37 | 2c 28 61 33 29 0d 09 09 |.btst.d7|,(a3)...| |000027f0| 6d 6f 76 65 2e 6c 09 64 | 34 2c 61 33 0d 09 09 62 |move.l.d|4,a3...b| |00002800| 6e 65 2e 73 09 2e 73 65 | 74 4f 4e 0d 09 09 62 63 |ne.s..se|tON...bc| |00002810| 6c 72 09 64 36 2c 28 61 | 33 29 0d 09 09 0d 09 09 |lr.d6,(a|3)......| |00002820| 3b 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 09 09 3b |; ------|----...;| |00002830| 20 46 69 6e 64 20 6e 65 | 78 74 20 73 65 71 75 65 | Find ne|xt seque| |00002840| 6e 63 65 20 65 6c 65 6d | 65 6e 74 3a 0d 09 09 0d |nce elem|ent:....| |00002850| 2e 4e 65 78 74 09 09 6c | 73 72 2e 6c 09 23 31 2c |.Next..l|sr.l.#1,| |00002860| 63 79 4d 61 73 6b 42 79 | 74 65 0d 09 09 62 68 69 |cyMaskBy|te...bhi| |00002870| 2e 73 09 2e 4c 6f 6f 70 | 52 6f 77 0d 09 09 65 6f |.s..Loop|Row...eo| |00002880| 72 2e 6c 09 4d 61 73 6b | 42 79 74 65 2c 63 79 4d |r.l.Mask|Byte,cyM| |00002890| 61 73 6b 42 79 74 65 0d | 09 09 63 6d 70 2e 6c 09 |askByte.|..cmp.l.| |000028a0| 4d 61 73 6b 42 79 74 65 | 2c 63 79 4d 61 73 6b 42 |MaskByte|,cyMaskB| |000028b0| 79 74 65 0d 09 09 62 6e | 65 2e 73 09 2e 4d 61 69 |yte...bn|e.s..Mai| |000028c0| 6e 4c 6f 6f 70 0d 09 09 | 62 72 61 09 2e 44 6f 6e |nLoop...|bra..Don| |000028d0| 65 0d 09 09 0d 2e 73 65 | 74 4f 4e 09 09 62 73 65 |e.....se|tON..bse| |000028e0| 74 09 64 36 2c 28 61 33 | 29 0d 09 09 6c 73 72 2e |t.d6,(a3|)...lsr.| |000028f0| 6c 09 23 31 2c 63 79 4d | 61 73 6b 42 79 74 65 0d |l.#1,cyM|askByte.| |00002900| 09 09 62 68 69 2e 73 09 | 2e 4c 6f 6f 70 52 6f 77 |..bhi.s.|.LoopRow| |00002910| 0d 09 09 65 6f 72 2e 6c | 09 4d 61 73 6b 42 79 74 |...eor.l|.MaskByt| |00002920| 65 2c 63 79 4d 61 73 6b | 42 79 74 65 0d 09 09 63 |e,cyMask|Byte...c| |00002930| 6d 70 2e 6c 09 4d 61 73 | 6b 42 79 74 65 2c 63 79 |mp.l.Mas|kByte,cy| |00002940| 4d 61 73 6b 42 79 74 65 | 0d 09 09 62 6e 65 2e 73 |MaskByte|...bne.s| |00002950| 09 2e 4d 61 69 6e 4c 6f | 6f 70 0d 09 09 0d 09 09 |..MainLo|op......| |00002960| 3b 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 09 09 3b |; ------|----...;| |00002970| 20 57 68 65 6e 20 77 65 | 27 72 65 20 66 69 6e 69 | When we|'re fini| |00002980| 73 68 65 64 3a 0d 09 09 | 0d 2e 44 6f 6e 65 09 09 |shed:...|..Done..| |00002990| 6d 6f 76 65 2e 77 09 2e | 73 72 63 4f 75 72 73 2b |move.w..|srcOurs+| |000029a0| 2e 6f 75 72 4c 62 69 74 | 73 2c 64 30 0d 09 09 6d |.ourLbit|s,d0...m| |000029b0| 6f 76 65 2e 77 09 2e 64 | 73 74 4f 75 72 73 2b 2e |ove.w..d|stOurs+.| |000029c0| 6f 75 72 4c 62 69 74 73 | 2c 64 31 0d 09 09 6e 6f |ourLbits|,d1...no| |000029d0| 74 2e 62 09 64 30 0d 09 | 09 6e 6f 74 2e 62 09 64 |t.b.d0..|.not.b.d| |000029e0| 31 0d 09 09 0d 09 09 3b | 20 41 6c 74 65 72 6e 61 |1......;| Alterna| |000029f0| 74 65 20 66 69 6e 69 73 | 68 20 65 6e 74 72 79 3a |te finis|h entry:| |00002a00| 0d 09 09 0d 2e 44 6f 6e | 65 41 09 09 6d 6f 76 65 |.....Don|eA..move| |00002a10| 2e 6c 09 2e 73 72 63 4f | 75 72 73 2b 2e 6f 75 72 |.l..srcO|urs+.our| |00002a20| 42 61 73 65 2c 61 30 0d | 09 09 6d 6f 76 65 2e 6c |Base,a0.|..move.l| |00002a30| 09 2e 64 73 74 4f 75 72 | 73 2b 2e 6f 75 72 42 61 |..dstOur|s+.ourBa| |00002a40| 73 65 2c 61 31 0d 09 09 | 62 73 65 74 09 64 31 2c |se,a1...|bset.d1,| |00002a50| 28 61 31 29 0d 09 09 62 | 74 73 74 09 64 30 2c 28 |(a1)...b|tst.d0,(| |00002a60| 61 30 29 0d 09 09 62 6e | 65 2e 73 09 2e 65 6e 64 |a0)...bn|e.s..end| |00002a70| 09 09 0d 09 09 62 63 6c | 72 09 64 31 2c 28 61 31 |.....bcl|r.d1,(a1| |00002a80| 29 0d 09 09 3b 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |)...; --|--------| |00002a90| 0d 2e 65 6e 64 09 09 53 | 68 6f 77 43 75 72 73 6f |..end..S|howCurso| |00002aa0| 72 09 09 09 3b 20 49 74 | 27 73 20 73 68 6f 77 20 |r...; It|'s show | |00002ab0| 74 69 6d 65 2c 20 66 6f | 6c 6b 73 20 21 21 0d 09 |time, fo|lks !!..| |00002ac0| 09 6d 6f 76 65 6d 2e 6c | 09 28 73 70 29 2b 2c 61 |.movem.l|.(sp)+,a| |00002ad0| 31 2d 61 34 2f 64 30 2d | 64 37 09 3b 20 57 69 74 |1-a4/d0-|d7.; Wit| |00002ae0| 68 64 72 61 77 20 61 6c | 6c 20 79 6f 75 72 20 73 |hdraw al|l your s| |00002af0| 61 76 69 6e 67 73 2e 0d | 0d 09 09 65 78 69 74 0d |avings..|...exit.| |00002b00| 09 09 0d 09 09 70 61 67 | 65 0d 09 09 0d 3b 2a 2a |.....pag|e....;**| |00002b10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002b20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002b30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002b40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 3b |********|******.;| |00002b50| 20 46 55 4e 43 54 49 4f | 4e 20 20 43 6f 6e 76 65 | FUNCTIO|N Conve| |00002b60| 72 74 20 28 73 72 63 4d | 61 70 3a 20 42 69 74 4d |rt (srcM|ap: BitM| |00002b70| 61 70 3b 20 73 72 63 52 | 65 63 74 3a 20 52 65 63 |ap; srcR|ect: Rec| |00002b80| 74 3b 0d 3b 09 09 20 20 | 20 20 20 56 41 52 20 6f |t;.;.. | VAR o| |00002b90| 75 72 52 65 63 3a 20 52 | 65 63 6f 72 64 29 20 3a |urRec: R|ecord) :| |00002ba0| 20 42 4f 4f 4c 45 41 4e | 3b 0d 3b 20 43 6f 6e 76 | BOOLEAN|;.; Conv| |00002bb0| 65 72 74 20 61 20 72 65 | 63 74 61 6e 67 6c 65 20 |ert a re|ctangle | |00002bc0| 61 6e 64 20 61 6e 20 65 | 6e 63 6c 6f 73 69 6e 67 |and an e|nclosing| |00002bd0| 20 42 69 74 4d 61 70 20 | 74 6f 20 6f 75 72 20 69 | BitMap |to our i| |00002be0| 6e 74 65 72 6e 61 6c 20 | 66 6f 72 6d 61 74 3a 0d |nternal |format:.| |00002bf0| 0d 43 6f 6e 76 65 72 74 | 09 09 66 75 6e 63 09 62 |.Convert|..func.b| |00002c00| 6f 6f 6c 65 61 6e 09 09 | 09 3b 20 53 75 63 63 65 |oolean..|.; Succe| |00002c10| 73 73 66 75 6c 20 3f 3f | 0d 2e 62 69 74 4d 61 70 |ssful ??|..bitMap| |00002c20| 09 09 70 6f 69 6e 74 65 | 72 09 09 09 09 3b 20 45 |..pointe|r....; E| |00002c30| 6e 63 6c 6f 73 69 6e 67 | 20 42 69 74 4d 61 70 2e |nclosing| BitMap.| |00002c40| 0d 2e 69 6e 6e 65 72 52 | 65 63 74 09 70 6f 69 6e |..innerR|ect.poin| |00002c50| 74 65 72 09 09 09 09 3b | 20 49 6e 6e 65 72 20 52 |ter....;| Inner R| |00002c60| 65 63 74 61 6e 67 6c 65 | 2e 0d 2e 6f 75 72 52 65 |ectangle|...ourRe| |00002c70| 63 6f 72 64 09 76 61 72 | 09 09 09 09 3b 20 4f 75 |cord.var|....; Ou| |00002c80| 72 20 69 6e 74 65 72 6e | 61 6c 20 73 74 72 75 63 |r intern|al struc| |00002c90| 74 75 72 65 2e 0d 09 09 | 65 6e 64 50 61 72 6d 73 |ture....|endParms| |00002ca0| 0d 09 09 0d 09 09 6e 6f | 4c 6f 63 61 6c 73 0d 09 |......no|Locals..| |00002cb0| 09 0d 09 09 64 73 65 63 | 09 30 09 09 3b 20 4f 75 |....dsec|.0..; Ou| |00002cc0| 72 20 73 70 65 63 69 61 | 6c 20 52 65 63 6f 72 64 |r specia|l Record| |00002cd0| 2e 0d 2e 6f 75 72 52 6f | 77 73 09 77 6f 72 64 09 |...ourRo|ws.word.| |00002ce0| 09 09 3b 20 4c 61 73 74 | 20 72 6f 77 23 20 61 6e |..; Last| row# an| |00002cf0| 64 20 63 6f 6c 75 6d 6e | 23 20 6f 66 20 69 6e 6e |d column|# of inn| |00002d00| 65 72 0d 2e 6f 75 72 43 | 6f 6c 73 09 77 6f 72 64 |er..ourC|ols.word| |00002d10| 09 09 09 3b 20 20 20 52 | 65 63 74 61 6e 67 6c 65 |...; R|ectangle| |00002d20| 20 5b 6e 6f 72 6d 61 6c | 69 7a 65 64 20 74 6f 20 | [normal|ized to | |00002d30| 30 5d 2e 0d 2e 6f 75 72 | 4c 62 69 74 73 09 77 6f |0]...our|Lbits.wo| |00002d40| 72 64 09 09 09 3b 20 49 | 67 6e 6f 72 65 64 20 42 |rd...; I|gnored B| |00002d50| 69 74 73 20 69 6e 20 31 | 73 74 20 42 79 74 65 20 |its in 1|st Byte | |00002d60| 6f 66 20 52 65 63 74 2e | 0d 2e 6f 75 72 53 74 72 |of Rect.|..ourStr| |00002d70| 69 64 65 09 77 6f 72 64 | 09 09 09 3b 20 72 6f 77 |ide.word|...; row| |00002d80| 42 69 74 73 20 69 6e 20 | 62 69 74 4d 61 70 2e 0d |Bits in |bitMap..| |00002d90| 2e 6f 75 72 42 61 73 65 | 09 70 6f 69 6e 74 65 72 |.ourBase|.pointer| |00002da0| 09 09 09 3b 20 2e 2e 2e | 20 74 6f 20 31 73 74 20 |...; ...| to 1st | |00002db0| 42 79 74 65 20 69 6e 20 | 69 6e 6e 65 72 20 52 65 |Byte in |inner Re| |00002dc0| 63 74 2e 0d 09 09 64 65 | 6e 64 09 2e 6f 75 72 53 |ct....de|nd..ourS| |00002dd0| 69 7a 65 0d 09 09 0d 09 | 09 0d 09 09 65 6e 74 65 |ize.....|....ente| |00002de0| 72 0d 09 09 0d 09 09 6d | 6f 76 65 6d 2e 6c 09 64 |r......m|ovem.l.d| |00002df0| 30 2d 64 32 2f 61 31 2d | 61 33 2c 2d 28 73 70 29 |0-d2/a1-|a3,-(sp)| |00002e00| 09 3b 20 59 6f 75 72 20 | 6c 69 66 65 20 70 72 65 |.; Your |life pre| |00002e10| 73 65 72 76 65 72 2e 0d | 09 09 73 66 09 2e 72 65 |server..|..sf..re| |00002e20| 73 75 6c 74 09 09 09 3b | 20 41 73 73 75 6d 65 20 |sult...;| Assume | |00002e30| 4e 4f 54 20 6f 6b 61 79 | 20 21 21 0d 09 09 0d 09 |NOT okay| !!.....| |00002e40| 09 3b 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 09 09 |.; -----|-----...| |00002e50| 3b 20 53 65 74 75 70 20 | 52 65 67 69 73 74 65 72 |; Setup |Register| |00002e60| 73 20 61 6e 64 20 7a 65 | 72 6f 2d 6f 75 74 20 6f |s and ze|ro-out o| |00002e70| 75 72 20 72 65 74 75 72 | 6e 65 64 20 52 65 63 6f |ur retur|ned Reco| |00002e80| 72 64 3a 0d 09 09 0d 09 | 09 6d 6f 76 65 2e 6c 09 |rd:.....|.move.l.| |00002e90| 2e 62 69 74 4d 61 70 2c | 61 31 0d 09 09 6d 6f 76 |.bitMap,|a1...mov| |00002ea0| 65 2e 6c 09 2e 69 6e 6e | 65 72 52 65 63 74 2c 61 |e.l..inn|erRect,a| |00002eb0| 32 0d 09 09 6d 6f 76 65 | 2e 6c 09 2e 6f 75 72 52 |2...move|.l..ourR| |00002ec0| 65 63 6f 72 64 2c 61 33 | 0d 09 09 6d 6f 76 65 2e |ecord,a3|...move.| |00002ed0| 6c 09 23 2e 6f 75 72 53 | 69 7a 65 2c 64 30 0d 09 |l.#.ourS|ize,d0..| |00002ee0| 09 73 75 62 71 2e 6c 09 | 23 31 2c 64 30 09 09 09 |.subq.l.|#1,d0...| |00002ef0| 3b 20 46 6f 72 20 22 64 | 62 72 61 22 20 62 65 6c |; For "d|bra" bel| |00002f00| 6f 77 2e 0d 2e 63 6c 65 | 61 72 09 09 63 6c 72 2e |ow...cle|ar..clr.| |00002f10| 62 09 28 61 33 29 2b 0d | 09 09 64 62 72 61 09 64 |b.(a3)+.|..dbra.d| |00002f20| 30 2c 2e 63 6c 65 61 72 | 0d 09 09 6d 6f 76 65 2e |0,.clear|...move.| |00002f30| 6c 09 2e 6f 75 72 52 65 | 63 6f 72 64 2c 61 33 09 |l..ourRe|cord,a3.| |00002f40| 09 3b 20 52 65 73 65 74 | 20 74 6f 20 70 61 73 73 |.; Reset| to pass| |00002f50| 65 64 20 50 6f 69 6e 74 | 65 72 2e 0d 09 09 0d 09 |ed Point|er......| |00002f60| 09 3b 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 09 09 |.; -----|-----...| |00002f70| 3b 20 4e 6f 77 2c 20 66 | 69 6c 6c 2d 69 6e 20 6f |; Now, f|ill-in o| |00002f80| 75 72 20 72 65 74 75 72 | 6e 65 64 20 52 65 63 6f |ur retur|ned Reco| |00002f90| 72 64 3a 0d 09 09 3b 0d | 09 09 3b 20 20 20 46 69 |rd:...;.|..; Fi| |00002fa0| 72 73 74 2c 20 63 61 6c | 63 75 6c 61 74 65 20 61 |rst, cal|culate a| |00002fb0| 64 64 72 65 73 73 20 6f | 66 20 74 68 65 20 31 73 |ddress o|f the 1s| |00002fc0| 74 20 42 79 74 65 20 69 | 6e 20 31 73 74 0d 09 09 |t Byte i|n 1st...| |00002fd0| 3b 20 20 20 72 6f 77 20 | 6f 66 20 42 69 74 4d 61 |; row |of BitMa| |00002fe0| 70 20 6f 63 63 75 70 69 | 65 64 20 62 79 20 74 68 |p occupi|ed by th| |00002ff0| 65 20 69 6e 6e 65 72 20 | 52 65 63 74 61 6e 67 6c |e inner |Rectangl| |00003000| 65 2e 0d 09 09 0d 09 09 | 63 6c 72 2e 6c 09 64 30 |e.......|clr.l.d0| |00003010| 0d 09 09 6d 6f 76 65 2e | 77 09 74 6f 70 28 61 32 |...move.|w.top(a2| |00003020| 29 2c 64 30 0d 09 09 73 | 75 62 2e 77 09 62 6f 75 |),d0...s|ub.w.bou| |00003030| 6e 64 73 2b 74 6f 70 28 | 61 31 29 2c 64 30 09 3b |nds+top(|a1),d0.;| |00003040| 20 48 6f 77 20 6d 61 6e | 79 20 72 6f 77 73 20 64 | How man|y rows d| |00003050| 6f 77 6e 20 3d 20 64 76 | 2e 0d 09 09 6d 75 6c 75 |own = dv|....mulu| |00003060| 09 72 6f 77 42 79 74 65 | 73 28 61 31 29 2c 64 30 |.rowByte|s(a1),d0| |00003070| 09 09 3b 20 42 79 74 65 | 73 20 64 6f 77 6e 20 66 |..; Byte|s down f| |00003080| 72 6f 6d 20 28 30 2c 30 | 29 2e 0d 09 09 61 64 64 |rom (0,0|)....add| |00003090| 2e 6c 09 62 61 73 65 41 | 64 64 72 28 61 31 29 2c |.l.baseA|ddr(a1),| |000030a0| 64 30 0d 09 09 3b 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |d0...; -|--------| |000030b0| 2d 0d 09 09 6d 6f 76 65 | 2e 77 09 6c 65 66 74 28 |-...move|.w.left(| |000030c0| 61 32 29 2c 64 31 0d 09 | 09 73 75 62 2e 77 09 62 |a2),d1..|.sub.w.b| |000030d0| 6f 75 6e 64 73 2b 6c 65 | 66 74 28 61 31 29 2c 64 |ounds+le|ft(a1),d| |000030e0| 31 09 3b 20 54 68 65 6e | 2c 20 42 69 74 73 20 61 |1.; Then|, Bits a| |000030f0| 63 72 6f 73 73 20 74 6f | 20 52 65 63 74 2e 0d 09 |cross to| Rect...| |00003100| 09 3b 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 09 09 |.; -----|-----...| |00003110| 6d 6f 76 65 2e 77 09 64 | 31 2c 64 32 0d 09 09 61 |move.w.d|1,d2...a| |00003120| 6e 64 69 2e 77 09 23 37 | 2c 64 32 09 09 09 3b 20 |ndi.w.#7|,d2...; | |00003130| 4d 4f 44 20 38 2e 0d 09 | 09 6d 6f 76 65 2e 77 09 |MOD 8...|.move.w.| |00003140| 64 32 2c 2e 6f 75 72 4c | 62 69 74 73 28 61 33 29 |d2,.ourL|bits(a3)| |00003150| 09 3b 20 23 20 6f 66 20 | 42 69 74 73 20 74 6f 20 |.; # of |Bits to | |00003160| 73 6b 69 70 2e 0d 09 09 | 3b 20 2d 2d 2d 2d 2d 2d |skip....|; ------| |00003170| 2d 2d 2d 2d 0d 09 09 6c | 73 72 2e 77 09 23 33 2c |----...l|sr.w.#3,| |00003180| 64 31 09 09 09 3b 20 42 | 79 74 65 73 20 61 63 72 |d1...; B|ytes acr| |00003190| 6f 73 73 20 74 6f 20 52 | 65 63 74 61 6e 67 6c 65 |oss to R|ectangle| |000031a0| 2e 0d 09 09 65 78 74 2e | 6c 09 64 31 0d 09 09 61 |....ext.|l.d1...a| |000031b0| 64 64 2e 6c 09 64 31 2c | 64 30 09 09 09 3b 20 41 |dd.l.d1,|d0...; A| |000031c0| 64 64 72 65 73 73 20 6f | 66 20 31 73 74 20 42 79 |ddress o|f 1st By| |000031d0| 74 65 20 69 6e 20 52 65 | 63 74 2e 0d 09 09 6d 6f |te in Re|ct....mo| |000031e0| 76 65 2e 6c 09 64 30 2c | 2e 6f 75 72 42 61 73 65 |ve.l.d0,|.ourBase| |000031f0| 28 61 33 29 0d 09 09 3b | 20 2d 2d 2d 2d 2d 2d 2d |(a3)...;| -------| |00003200| 2d 2d 2d 0d 09 09 6d 6f | 76 65 2e 77 09 72 6f 77 |---...mo|ve.w.row| |00003210| 42 79 74 65 73 28 61 31 | 29 2c 64 30 0d 09 09 6c |Bytes(a1|),d0...l| |00003220| 73 6c 2e 77 09 23 33 2c | 64 30 09 09 09 3b 20 42 |sl.w.#3,|d0...; B| |00003230| 79 74 65 73 20 2d 2d 3e | 20 42 69 74 73 2e 0d 09 |ytes -->| Bits...| |00003240| 09 6d 6f 76 65 2e 77 09 | 64 30 2c 2e 6f 75 72 53 |.move.w.|d0,.ourS| |00003250| 74 72 69 64 65 28 61 33 | 29 0d 09 09 3b 20 2d 2d |tride(a3|)...; --| |00003260| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 09 09 6d 6f 76 65 2e |--------|...move.| |00003270| 77 09 62 6f 74 74 6f 6d | 28 61 32 29 2c 64 30 0d |w.bottom|(a2),d0.| |00003280| 09 09 73 75 62 2e 77 09 | 74 6f 70 28 61 32 29 2c |..sub.w.|top(a2),| |00003290| 64 30 09 09 3b 20 48 65 | 69 67 68 74 20 6f 66 20 |d0..; He|ight of | |000032a0| 52 65 63 74 61 6e 67 6c | 65 2e 0d 09 09 73 75 62 |Rectangl|e....sub| |000032b0| 71 2e 77 09 23 31 2c 64 | 30 09 09 09 3b 20 4e 6f |q.w.#1,d|0...; No| |000032c0| 72 6d 61 6c 69 7a 65 64 | 20 74 6f 20 30 2e 0d 09 |rmalized| to 0...| |000032d0| 09 62 6d 69 2e 73 09 2e | 65 6e 64 09 09 09 3b 20 |.bmi.s..|end...; | |000032e0| 5a 65 72 6f 20 68 65 69 | 67 68 74 20 74 6f 20 62 |Zero hei|ght to b| |000032f0| 65 67 69 6e 20 77 69 74 | 68 2e 0d 09 09 6d 6f 76 |egin wit|h....mov| |00003300| 65 2e 77 09 64 30 2c 2e | 6f 75 72 52 6f 77 73 28 |e.w.d0,.|ourRows(| |00003310| 61 33 29 0d 09 09 3b 20 | 2d 2d 2d 2d 2d 2d 2d 2d |a3)...; |--------| |00003320| 2d 2d 0d 09 09 6d 6f 76 | 65 2e 77 09 72 69 67 68 |--...mov|e.w.righ| |00003330| 74 28 61 32 29 2c 64 31 | 0d 09 09 73 75 62 2e 77 |t(a2),d1|...sub.w| |00003340| 09 6c 65 66 74 28 61 32 | 29 2c 64 31 09 09 3b 20 |.left(a2|),d1..; | |00003350| 57 69 64 74 68 2e 0d 09 | 09 73 75 62 71 2e 77 09 |Width...|.subq.w.| |00003360| 23 31 2c 64 31 09 09 09 | 3b 20 4e 6f 72 6d 61 6c |#1,d1...|; Normal| |00003370| 69 7a 65 64 20 74 6f 20 | 30 2e 0d 09 09 62 6d 69 |ized to |0....bmi| |00003380| 2e 73 09 2e 65 6e 64 09 | 09 09 3b 20 5a 65 72 6f |.s..end.|..; Zero| |00003390| 20 77 69 64 74 68 20 74 | 6f 20 62 65 67 69 6e 20 | width t|o begin | |000033a0| 77 69 74 68 2e 0d 09 09 | 6d 6f 76 65 2e 77 09 64 |with....|move.w.d| |000033b0| 31 2c 2e 6f 75 72 43 6f | 6c 73 28 61 33 29 0d 09 |1,.ourCo|ls(a3)..| |000033c0| 09 0d 09 09 73 74 09 2e | 72 65 73 75 6c 74 09 09 |....st..|result..| |000033d0| 09 3b 20 45 76 65 72 79 | 74 68 69 6e 67 27 73 20 |.; Every|thing's | |000033e0| 6f 6b 61 79 20 21 21 0d | 09 09 3b 20 2d 2d 2d 2d |okay !!.|..; ----| |000033f0| 2d 2d 2d 2d 2d 2d 0d 2e | 65 6e 64 09 09 6d 6f 76 |------..|end..mov| |00003400| 65 6d 2e 6c 09 28 73 70 | 29 2b 2c 64 30 2d 64 32 |em.l.(sp|)+,d0-d2| |00003410| 2f 61 31 2d 61 33 09 3b | 20 57 69 74 68 64 72 61 |/a1-a3.;| Withdra| |00003420| 77 20 61 6c 6c 20 79 6f | 75 72 20 73 61 76 69 6e |w all yo|ur savin| |00003430| 67 73 2e 09 09 0d 0d 09 | 09 65 78 69 74 0d 09 09 |gs......|.exit...| |00003440| 0d 09 09 70 61 67 65 0d | 09 09 0d 3b 2a 2a 2a 2a |...page.|...;****| |00003450| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003460| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003470| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003480| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 3b 20 46 |********|****.; F| |00003490| 55 4e 43 54 49 4f 4e 20 | 20 4d 75 6c 43 68 6b 20 |UNCTION | MulChk | |000034a0| 28 56 41 52 20 73 72 63 | 53 74 72 69 64 65 2c 64 |(VAR src|Stride,d| |000034b0| 73 74 53 74 72 69 64 65 | 3a 20 49 4e 54 45 47 45 |stStride|: INTEGE| |000034c0| 52 29 20 3a 20 42 4f 4f | 4c 45 41 4e 3b 0d 3b 20 |R) : BOO|LEAN;.; | |000034d0| 53 65 65 20 69 66 20 77 | 65 20 63 61 6e 20 64 6f |See if w|e can do| |000034e0| 20 77 69 74 68 6f 75 74 | 20 6d 75 6c 74 69 70 6c | without| multipl| |000034f0| 79 20 69 6e 73 74 72 75 | 63 74 69 6f 6e 73 3a 0d |y instru|ctions:.| |00003500| 0d 4d 75 6c 43 68 6b 09 | 09 66 75 6e 63 09 62 6f |.MulChk.|.func.bo| |00003510| 6f 6c 65 61 6e 09 09 09 | 3b 20 43 61 6e 20 77 65 |olean...|; Can we| |00003520| 20 3f 3f 0d 2e 73 72 63 | 53 74 72 69 64 65 09 76 | ??..src|Stride.v| |00003530| 61 72 09 09 09 09 3b 20 | 50 6f 69 6e 74 65 72 73 |ar....; |Pointers| |00003540| 2e 0d 2e 64 73 74 53 74 | 72 69 64 65 09 76 61 72 |...dstSt|ride.var| |00003550| 0d 09 09 65 6e 64 50 61 | 72 6d 73 0d 09 09 0d 09 |...endPa|rms.....| |00003560| 09 6e 6f 4c 6f 63 61 6c | 73 0d 09 09 0d 09 09 0d |.noLocal|s.......| |00003570| 09 09 65 6e 74 65 72 0d | 09 09 0d 09 09 6d 6f 76 |..enter.|.....mov| |00003580| 65 6d 2e 6c 09 64 30 2d | 64 33 2f 61 31 2d 61 32 |em.l.d0-|d3/a1-a2| |00003590| 2c 2d 28 73 70 29 09 3b | 20 53 61 76 65 20 79 6f |,-(sp).;| Save yo| |000035a0| 75 72 20 70 65 6e 6e 69 | 65 73 2e 0d 09 09 3b 20 |ur penni|es....; | |000035b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 09 09 73 66 09 |--------|--...sf.| |000035c0| 2e 72 65 73 75 6c 74 09 | 09 09 3b 20 41 73 73 75 |.result.|..; Assu| |000035d0| 6d 65 20 4e 4f 20 21 21 | 0d 09 09 0d 09 09 6d 6f |me NO !!|......mo| |000035e0| 76 65 2e 6c 09 2e 73 72 | 63 53 74 72 69 64 65 2c |ve.l..sr|cStride,| |000035f0| 61 31 0d 09 09 63 6c 72 | 2e 77 09 2d 28 73 70 29 |a1...clr|.w.-(sp)| |00003600| 09 09 09 3b 20 46 55 4e | 43 54 49 4f 4e 61 6c 20 |...; FUN|CTIONal | |00003610| 72 65 73 75 6c 74 2e 0d | 09 09 70 75 73 68 2e 77 |result..|..push.w| |00003620| 09 28 61 31 29 0d 09 09 | 62 73 72 09 42 69 74 57 |.(a1)...|bsr.BitW| |00003630| 69 64 74 68 0d 09 09 70 | 6f 70 2e 77 09 73 74 72 |idth...p|op.w.str| |00003640| 69 64 65 57 69 64 74 68 | 0d 09 09 6d 6f 76 65 2e |ideWidth|...move.| |00003650| 77 09 73 74 72 69 64 65 | 57 69 64 74 68 2c 73 74 |w.stride|Width,st| |00003660| 72 69 64 65 4c 4f 47 0d | 09 09 73 75 62 71 2e 77 |rideLOG.|..subq.w| |00003670| 09 23 31 2c 73 74 72 69 | 64 65 57 69 64 74 68 0d |.#1,stri|deWidth.| |00003680| 09 09 6d 6f 76 65 2e 77 | 09 23 31 2c 64 31 0d 09 |..move.w|.#1,d1..| |00003690| 09 6c 73 6c 2e 77 09 73 | 74 72 69 64 65 57 69 64 |.lsl.w.s|trideWid| |000036a0| 74 68 2c 64 31 0d 09 09 | 63 6d 70 2e 77 09 28 61 |th,d1...|cmp.w.(a| |000036b0| 31 29 2c 64 31 0d 09 09 | 62 6e 65 2e 73 09 2e 65 |1),d1...|bne.s..e| |000036c0| 6e 64 09 09 09 3b 20 42 | 61 67 20 69 74 20 21 21 |nd...; B|ag it !!| |000036d0| 0d 09 09 6d 6f 76 65 2e | 77 09 73 74 72 69 64 65 |...move.|w.stride| |000036e0| 4c 4f 47 2c 64 33 0d 09 | 09 3b 20 2d 2d 2d 2d 2d |LOG,d3..|.; -----| |000036f0| 2d 2d 2d 2d 2d 0d 09 09 | 6d 6f 76 65 2e 6c 09 2e |-----...|move.l..| |00003700| 64 73 74 53 74 72 69 64 | 65 2c 61 32 0d 09 09 63 |dstStrid|e,a2...c| |00003710| 6c 72 2e 77 09 2d 28 73 | 70 29 09 09 09 3b 20 46 |lr.w.-(s|p)...; F| |00003720| 55 4e 43 54 49 4f 4e 61 | 6c 20 72 65 73 75 6c 74 |UNCTIONa|l result| |00003730| 2e 0d 09 09 70 75 73 68 | 2e 77 09 28 61 32 29 0d |....push|.w.(a2).| |00003740| 09 09 62 73 72 09 42 69 | 74 57 69 64 74 68 0d 09 |..bsr.Bi|tWidth..| |00003750| 09 70 6f 70 2e 77 09 73 | 74 72 69 64 65 57 69 64 |.pop.w.s|trideWid| |00003760| 74 68 0d 09 09 6d 6f 76 | 65 2e 77 09 73 74 72 69 |th...mov|e.w.stri| |00003770| 64 65 57 69 64 74 68 2c | 73 74 72 69 64 65 4c 4f |deWidth,|strideLO| |00003780| 47 0d 09 09 73 75 62 71 | 2e 77 09 23 31 2c 73 74 |G...subq|.w.#1,st| |00003790| 72 69 64 65 57 69 64 74 | 68 0d 09 09 6d 6f 76 65 |rideWidt|h...move| |000037a0| 2e 77 09 23 31 2c 64 31 | 0d 09 09 6c 73 6c 2e 77 |.w.#1,d1|...lsl.w| |000037b0| 09 73 74 72 69 64 65 57 | 69 64 74 68 2c 64 31 0d |.strideW|idth,d1.| |000037c0| 09 09 63 6d 70 2e 77 09 | 28 61 32 29 2c 64 31 0d |..cmp.w.|(a2),d1.| |000037d0| 09 09 62 6e 65 2e 73 09 | 2e 65 6e 64 09 09 09 3b |..bne.s.|.end...;| |000037e0| 20 42 61 67 20 69 74 20 | 21 21 0d 09 09 0d 09 09 | Bag it |!!......| |000037f0| 6d 6f 76 65 2e 77 09 64 | 33 2c 28 61 31 29 0d 09 |move.w.d|3,(a1)..| |00003800| 09 6d 6f 76 65 2e 77 09 | 73 74 72 69 64 65 4c 4f |.move.w.|strideLO| |00003810| 47 2c 28 61 32 29 09 09 | 0d 09 09 73 74 09 2e 72 |G,(a2)..|...st..r| |00003820| 65 73 75 6c 74 09 09 09 | 3b 20 47 6f 6f 64 20 4e |esult...|; Good N| |00003830| 65 77 73 2c 20 66 6f 6c | 6b 73 20 21 21 0d 09 09 |ews, fol|ks !!...| |00003840| 3b 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2e 65 6e |; ------|----..en| |00003850| 64 09 09 6d 6f 76 65 6d | 2e 6c 09 28 73 70 29 2b |d..movem|.l.(sp)+| |00003860| 2c 64 30 2d 64 33 2f 61 | 31 2d 61 32 0d 0d 09 09 |,d0-d3/a|1-a2....| |00003870| 65 78 69 74 0d 09 09 0d | 09 09 70 61 67 65 0d 09 |exit....|..page..| |00003880| 09 0d 3b 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..;*****|********| |00003890| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000038a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000038b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000038c0| 2a 2a 2a 0d 3b 20 46 55 | 4e 43 54 49 4f 4e 20 20 |***.; FU|NCTION | |000038d0| 42 69 74 57 69 64 74 68 | 20 28 6e 75 6d 62 65 72 |BitWidth| (number| |000038e0| 3a 20 49 4e 54 45 47 45 | 52 29 20 3a 20 49 4e 54 |: INTEGE|R) : INT| |000038f0| 45 47 45 52 3b 0d 3b 20 | 46 69 6e 64 20 74 68 65 |EGER;.; |Find the| |00003900| 20 6e 75 6d 62 65 72 20 | 6f 66 20 42 69 74 73 20 | number |of Bits | |00003910| 69 6e 20 61 20 6e 75 6d | 62 65 72 3a 0d 0d 42 69 |in a num|ber:..Bi| |00003920| 74 57 69 64 74 68 09 66 | 75 6e 63 09 69 6e 74 65 |tWidth.f|unc.inte| |00003930| 67 65 72 0d 2e 6e 75 6d | 62 65 72 09 09 69 6e 74 |ger..num|ber..int| |00003940| 65 67 65 72 0d 09 09 65 | 6e 64 50 61 72 6d 73 0d |eger...e|ndParms.| |00003950| 09 09 0d 09 09 6e 6f 4c | 6f 63 61 6c 73 0d 09 09 |.....noL|ocals...| |00003960| 0d 09 09 0d 09 09 65 6e | 74 65 72 0d 09 09 0d 09 |......en|ter.....| |00003970| 09 6d 6f 76 65 6d 2e 6c | 09 64 30 2d 64 31 2c 2d |.movem.l|.d0-d1,-| |00003980| 28 73 70 29 09 09 3b 20 | 59 6f 75 72 20 6c 69 66 |(sp)..; |Your lif| |00003990| 65 20 70 72 65 73 65 72 | 76 65 72 2e 0d 09 09 3b |e preser|ver....;| |000039a0| 20 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 09 09 63 6c | -------|---...cl| |000039b0| 72 2e 77 09 2e 72 65 73 | 75 6c 74 09 09 09 3b 20 |r.w..res|ult...; | |000039c0| 49 6e 69 74 69 61 6c 69 | 7a 65 20 74 6f 20 30 2e |Initiali|ze to 0.| |000039d0| 0d 09 09 6d 6f 76 65 2e | 77 09 2e 6e 75 6d 62 65 |...move.|w..numbe| |000039e0| 72 2c 64 30 0d 09 09 62 | 65 71 2e 73 09 2e 65 6e |r,d0...b|eq.s..en| |000039f0| 64 0d 09 09 3b 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |d...; --|--------| |00003a00| 0d 09 09 6d 6f 76 65 2e | 6c 09 23 31 36 2c 64 31 |...move.|l.#16,d1| |00003a10| 09 09 09 3b 20 65 2e 67 | 2e 2c 20 77 69 64 74 68 |...; e.g|., width| |00003a20| 20 6f 66 20 23 33 20 3d | 20 32 2e 0d 2e 6c 6f 6f | of #3 =| 2...loo| |00003a30| 70 09 09 6c 73 6c 2e 77 | 09 23 31 2c 64 30 0d 09 |p..lsl.w|.#1,d0..| |00003a40| 09 64 62 63 73 09 64 31 | 2c 2e 6c 6f 6f 70 09 09 |.dbcs.d1|,.loop..| |00003a50| 3b 20 2e 2e 2e 20 75 6e | 74 69 6c 20 61 20 31 20 |; ... un|til a 1 | |00003a60| 66 61 6c 6c 73 20 6f 66 | 66 2e 0d 09 09 6d 6f 76 |falls of|f....mov| |00003a70| 65 2e 77 09 64 31 2c 2e | 72 65 73 75 6c 74 0d 09 |e.w.d1,.|result..| |00003a80| 09 3b 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 2e 65 |.; -----|-----..e| |00003a90| 6e 64 09 09 6d 6f 76 65 | 6d 2e 6c 09 28 73 70 29 |nd..move|m.l.(sp)| |00003aa0| 2b 2c 64 30 2d 64 31 09 | 09 3b 20 54 6f 20 74 68 |+,d0-d1.|.; To th| |00003ab0| 65 20 72 65 73 63 75 65 | 2e 0d 09 09 0d 09 09 65 |e rescue|.......e| |00003ac0| 78 69 74 0d 09 09 0d 09 | 09 70 61 67 65 0d 09 09 |xit.....|.page...| |00003ad0| 0d 3b 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.;******|********| |00003ae0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003af0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003b00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003b10| 2a 2a 0d 3b 20 54 61 62 | 6c 65 20 6f 66 20 6c 6f |**.; Tab|le of lo| |00003b20| 6e 67 77 6f 72 64 20 4d | 61 73 6b 73 20 74 6f 20 |ngword M|asks to | |00003b30| 58 4f 52 20 69 6e 20 4b | 6e 75 74 68 69 61 6e 20 |XOR in K|nuthian | |00003b40| 61 6c 67 6f 72 69 74 68 | 6d 2e 20 20 54 68 65 20 |algorith|m. The | |00003b50| 66 69 72 73 74 0d 3b 20 | 74 61 62 6c 65 20 65 6e |first.; |table en| |00003b60| 74 72 79 20 3e 20 30 20 | 69 73 20 66 6f 72 20 61 |try > 0 |is for a| |00003b70| 20 62 69 74 2d 77 69 64 | 74 68 20 6f 66 20 74 77 | bit-wid|th of tw| |00003b80| 6f 2c 20 73 6f 20 74 68 | 65 20 74 61 62 6c 65 20 |o, so th|e table | |00003b90| 61 63 74 75 61 6c 6c 79 | 0d 3b 20 73 74 61 72 74 |actually|.; start| |00003ba0| 73 20 74 77 6f 20 62 79 | 74 65 73 20 62 65 66 6f |s two by|tes befo| |00003bb0| 72 65 20 74 68 61 74 2e | 20 20 54 68 65 20 73 63 |re that.| The sc| |00003bc0| 68 65 6d 65 20 75 73 65 | 64 20 69 73 20 74 68 61 |heme use|d is tha| |00003bd0| 74 20 6f 66 20 61 20 0d | 3b 20 22 6d 61 78 69 6d |t of a .|; "maxim| |00003be0| 75 6d 2d 6c 65 6e 67 74 | 68 20 73 65 71 75 65 6e |um-lengt|h sequen| |00003bf0| 63 65 20 67 65 6e 65 72 | 61 74 6f 72 22 3a 0d 0d |ce gener|ator":..| |00003c00| 4d 61 73 6b 54 61 62 6c | 65 09 64 63 2e 62 09 30 |MaskTabl|e.dc.b.0| |00003c10| 09 09 09 3b 20 42 69 74 | 2d 77 69 64 74 68 20 3d |...; Bit|-width =| |00003c20| 20 30 20 2e 2e 2e 0d 09 | 09 64 63 2e 62 09 30 2c | 0 .....|.dc.b.0,| |00003c30| 33 2c 33 2c 33 2c 35 2c | 33 2c 33 2c 32 33 0d 09 |3,3,3,5,|3,3,23..| |00003c40| 09 64 63 2e 62 09 31 37 | 2c 39 2c 35 2c 31 30 31 |.dc.b.17|,9,5,101| |00003c50| 2c 32 37 2c 35 33 2c 33 | 2c 34 35 0d 09 09 64 63 |,27,53,3|,45...dc| |00003c60| 2e 62 09 39 2c 31 32 39 | 2c 35 37 2c 39 2c 35 2c |.b.9,129|,57,9,5,| |00003c70| 33 2c 33 33 2c 32 37 0d | 09 09 64 63 2e 62 09 39 |3,33,27.|..dc.b.9| |00003c80| 2c 31 31 33 2c 35 37 2c | 39 2c 35 2c 31 30 31 2c |,113,57,|9,5,101,| |00003c90| 39 2c 31 36 33 09 3b 20 | 2e 2e 2e 20 42 69 74 2d |9,163.; |... Bit-| |00003ca0| 77 69 64 74 68 20 3d 20 | 33 32 2e 0d 09 09 0d 09 |width = |32......| |00003cb0| 09 61 6c 69 67 6e 0d 00 | 00 00 00 00 00 00 00 00 |.align..|........| |00003cc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003cd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003cf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003d00| 00 00 01 00 00 00 01 16 | 00 00 00 16 00 00 00 46 |........|.......F| |00003d10| 09 3b 20 57 69 64 74 68 | 2c 20 74 68 65 6e 20 48 |.; Width|, then H| |00003d20| 65 69 67 68 74 2e 0d 09 | 09 65 78 74 2e 6c 09 64 |eight...|.ext.l.d| |00003d30| 0c 44 69 73 73 42 69 74 | 73 2e 61 73 6d bd 02 00 |.DissBit|s.asm...| |00003d40| 00 00 54 45 58 54 45 44 | 49 54 01 06 00 00 00 00 |..TEXTED|IT......| |00003d50| 00 00 54 45 58 54 45 44 | 49 54 01 06 00 00 00 00 |..TEXTED|IT......| |00003d60| 00 00 11 b1 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003d70| 00 00 a0 8b 56 e8 00 00 | 3c 37 00 00 01 5c 20 53 |....V...|<7...\ S| |00003d80| 79 73 74 65 6d 20 48 65 | 61 70 2e 0d 09 09 70 75 |ystem He|ap....pu| |00003d90| 73 68 2e 6c 09 61 30 09 | 09 3b 20 3d 20 62 61 73 |sh.l.a0.|.; = bas| |00003da0| 65 41 64 64 72 20 66 69 | 65 6c 64 20 6f 66 20 42 |eAddr fi|eld of B| |00003db0| 69 74 4d 61 70 2e 0d 09 | 09 6d 6f 76 65 2e 6c 09 |itMap...|.move.l.| |00003dc0| 23 62 69 74 4d 61 70 52 | 65 63 2c 64 30 0d 09 09 |#bitMapR|ec,d0...| |00003dd0| 5f 4e 65 77 48 61 6e 64 | 6c 65 2c 73 79 73 2b 63 |_NewHand|le,sys+c| |00003de0| 6c 65 61 72 0d 09 09 6d | 6f 76 65 2e 6c 09 61 30 |lear...m|ove.l.a0| |00003df0| 2c 2e 62 6d 48 64 6c 09 | 3b 20 53 61 76 65 20 66 |,.bmHdl.|; Save f| |00003e00| 00 00 00 0a 00 09 06 4d | 6f 6e 61 63 6f 68 00 00 |.......M|onacoh..| |00003e10| 00 04 00 06 00 08 00 00 | 01 00 00 00 01 16 00 00 |........|........| |00003e20| 00 16 00 00 00 46 00 35 | c7 56 03 ae 00 00 00 1c |.....F.5|.V......| |00003e30| 00 46 00 01 45 46 4e 54 | 00 00 00 12 45 54 41 42 |.F..EFNT|....ETAB| |00003e40| 00 00 00 1e 03 eb ff ff | 00 00 00 00 00 35 dc b6 |........|.....5..| |00003e50| 03 ec ff ff 00 00 00 0e | 00 35 dc be 00 00 00 00 |........|.5......| |00003e60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003e70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| +--------+-------------------------+-------------------------+--------+--------+